在PHP中不能以CLI方式连接MySQL DB(正在以GUI方式连接)


Can't connect with MySQL DB in CLI mode (Being connected in GUI Mode) in PHP

我试图在命令行php脚本文件中连接MySQL。我有另一个文件,我在GUI模式下运行,但在命令行模式下,它在mysqli_connect时给了我以下错误:

mysqld不能使用旧的不安全连接到MySQL 4.1+身份验证。请使用管理工具重置您的使用SET password =命令设置密码密码("your_existing_password")。这将存储一个新的,和更多安全,mysql.user中的哈希值。如果该用户在其他由PHP 5.2或更早版本执行的脚本,您可能需要删除旧密码标志从您的my.cnf文件

我知道我可以更新密码。但是由于某些原因,我无法用新密码更新旧密码。所以我只需要连接mysql与旧密码的支持。

再次,我提到相同的代码在GUI模式下工作得很好,但在同一服务器上的CLI模式下却不行。这是怎么发生的。有人知道吗?

您可以检查Web服务器和命令行PHP使用哪些PHP.ini文件吗?对于web服务器,只需使用phpinfo()创建一个页面,并检查php.ini文件的位置。获得Web Server使用的PHP.ini文件位置后,就可以使用

从命令行执行PHP脚本了。
php -c <Path of PHP.ini> <Your PHP Script>