Php 和 Mysql 出现次要版本不匹配错误

Php 和 Mysql 出现次要版本不匹配错误

当我尝试new mysqli在 php 脚本中实例化实例时,我随机开始收到此错误:

mysqli::mysqli():标头和客户端库次要版本不匹配。标题:50541 库:50626

我有点困惑,因为当我运行时sudo yum list installed,版本看起来是相同的。无论哪种方式,运行sudo yum update都不会实际更新软件包。

sudo yum list installed这是(仅 php 包)的输出:

php.x86_64                  5.4.16-36.el7_1                          @updates
php-cli.x86_64              5.4.16-36.el7_1                          @updates
php-common.x86_64           5.4.16-36.el7_1                          @updates
php-devel.x86_64            5.4.16-36.el7_1                          @updates
php-mbstring.x86_64         5.4.16-36.el7_1                          @updates
php-mcrypt.x86_64           5.4.16-3.el7                             @epel
php-mssql.x86_64            5.4.16-3.el7                             @epel
php-mysql.x86_64            5.4.16-36.el7_1                          @updates
php-pdo.x86_64              5.4.16-36.el7_1                          @updates
php-soap.x86_64             5.4.16-36.el7_1                          @updates

我正在使用CentOS Linux release 7.1.1503 (Core),PHP 5.4.165.6.26 MySQL Community Server.

我在这个问题的其他答案中看到您可以安装php-mysqlnd驱动程序,但该驱动程序未在 yum 的软件包下列出。

以下是我可以通过 yum 安装的 php 软件包:

php.x86_64                                 5.4.16-36.el7_1             @updates 
php-cli.x86_64                             5.4.16-36.el7_1             @updates 
php-common.x86_64                          5.4.16-36.el7_1             @updates 
php-devel.x86_64                           5.4.16-36.el7_1             @updates 
php-mbstring.x86_64                        5.4.16-36.el7_1             @updates 
php-mcrypt.x86_64                          5.4.16-3.el7                @epel    
php-mssql.x86_64                           5.4.16-3.el7                @epel    
php-mysql.x86_64                           5.4.16-36.el7_1             @updates 
php-pdo.x86_64                             5.4.16-36.el7_1             @updates 
php-soap.x86_64                            5.4.16-36.el7_1             @updates 

有人知道我该如何解决这个问题吗?我不知道为什么会突然出现这样的情况。在我周五去度周末之前,脚本就已经开始工作了,据我所知,没有任何改变。

答案1

我能够使用sudo yum install php-mysqlnd.我一定是第一次安装时输入错误。哎哟!

安装后php-mysqlnd运行sudo service httpd restart.

显然是一位同事惹恼了我们的mysql司机。当被问及他是否改变了与phpor有关的任何内容时mysql,他告诉我他没有。看了一下.bash_history,发现他重装了php,还有一堆mysql驱动。

学过的知识!

答案2

您可以通过转到 php 扩展并禁用 mysqli 然后启用 nd_mysqli 来解决此错误。祝你好运

相关内容