我正在尝试在运行PHP 5.3.10的开发服务器上运行本地运行的站点。它连接到版本为5.5的MySQL服务器,但old_passwords
设置为ON
。
该网站适用于开发服务器。
在我的本地,我正在运行PHP 5.3.26,当我尝试连接时,我得到:
Warning: mysql_connect() [<a href='function.mysql-connect'>function.mysql-connect</a>]: mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file
我知道这是old_password变量的一个问题,但它在使用PHP 5.3的开发服务器上运行。
编辑:
这是我phpinfo()
的本地mysql部分:
开发服务器的mysql部分:
如何设置本地以匹配开发服务器?
答案 0 :(得分:0)
PHP版本不是问题,因为PHP 5.3“旧”MySQL密码不再受支持了。可能会应用两种不同的权限配置文件。你在连接同一台服务器吗?那么类似的事情可能会发生:
User Host
youruser % (using old-style password)
youruser localhost (using new-style password)
您使用相同的凭据并不一定意味着这些凭据指的是相同的帐户或权限配置文件。