当我试图在php脚本中实例化一个new mysqli
实例时,我随机地开始得到这个错误:
mysqli::mysqli():Header和客户端库小版本不匹配。标题: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.16
和5.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
有人知道我怎么解决这个问题吗?我不知道为什么会这样随机出现。在我周五离开去过周末之前,剧本还在工作,据我所知,没有什么变化。
发布于 2015-08-05 13:45:57
我能够用sudo yum install php-mysqlnd
解决问题。我一定是在第一次安装时把它输入错了。哈!
安装php-mysqlnd
后,运行sudo service httpd restart
。
很明显,一个同事把我们的mysql
司机搞砸了。当被问及他是否改变了与php
或mysql
有关的任何事情时,他告诉我他没有改变。他看着.bash_history
,看到他重新安装了php
和一堆mysql
驱动程序。
吸取教训!
发布于 2020-05-03 15:50:18
您可以通过进入php扩展并禁用mysqli,然后启用nd_mysqli来解决这个错误。祝好运
https://unix.stackexchange.com/questions/220150
复制相似问题