Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t在PHP中以CLI模式(以GUI模式连接)连接MySQL DB_Php_Mysql_Mysqli - Fatal编程技术网

Can';t在PHP中以CLI模式(以GUI模式连接)连接MySQL DB

Can';t在PHP中以CLI模式(以GUI模式连接)连接MySQL DB,php,mysql,mysqli,Php,Mysql,Mysqli,我试图在命令行php脚本文件中连接MySQL。我有另一个文件,我正在GUI模式下运行,但在命令行模式下,它在mysqli_connect时给了我以下错误: mysqlnd无法使用旧的不安全服务器连接到MySQL 4.1+ 认证。请使用管理工具重置您的 使用命令SET password设置密码= 密码(“您的现有密码”)。这将存储一个新的、更多的 安全,mysql.user中的哈希值。如果此用户在其他应用程序中使用 由PHP5.2或更早版本执行的脚本可能需要删除 my.cnf文件中的旧密码标志 我

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

mysqlnd无法使用旧的不安全服务器连接到MySQL 4.1+ 认证。请使用管理工具重置您的 使用命令SET password设置密码= 密码(“您的现有密码”)。这将存储一个新的、更多的 安全,mysql.user中的哈希值。如果此用户在其他应用程序中使用 由PHP5.2或更早版本执行的脚本可能需要删除 my.cnf文件中的旧密码标志

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


同样,我要说的是,相同的代码在GUI模式下工作正常,但在同一服务器上的CLI模式下工作不正常。它是如何发生的。有人知道吗?

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

php -c <Path of PHP.ini> <Your PHP Script>
php-c

不同的PHP SAPI、不同的PHP.ini设置。我怀疑CLI解释器使用的是新的MySQL驱动程序,而web版本不是。