使用PHP的旧身份验证无法连接到MySQL 4.1+

时间:2011-06-30 06:33:12

标签: php mysql authentication

是的,这是一个常见的问题 - 我找到了一个完美的Stack Overflow票证:

Cannot connect to MySQL 4.1+ using old authentication

除了......我没有在我的共享托管服务提供商(Site5)上运行这些MySQL命令的权限。当我问他们时,他们告诉我,因为我是从我的本地计算机访问它(我只是在提交/部署我的代码之前测试Web应用程序)。我在Windows 7上使用最新版本的XAMPP,它具有PHP 5.3.5。

无论如何,我没有root权限,也无法更改密码。他们不会为我运行这些命令。我该怎么办?

编辑:此外,当我在共享主机上启用PHP 5.3.5时,尽管有旧的MySQL版本和old_passwords文件,但数据库连接仍能正常工作。我通过在.htaccess中添加一个处理程序并通过phpinfo()确认它来完成此操作。这是远程连接问题吗?

2 个答案:

答案 0 :(得分:0)

您的主机可能不允许远程数据库连接 - 这是一种非常合理的安全措施,尤其是在共享托管的情况下。

如果您需要能够做这些事情,那么您需要获得VPS或专用服务器。但是,可能只有极少数允许共享托管。

答案 1 :(得分:0)

这就是我所做的:我通过在本地计算机上复制数据库并将连接字符串更改为“localhost”而不是专门指向共享服务器来承认。