我试图在php脚本中实例化一个新的mysqli实例时随机开始出现此错误:
mysqli::mysqli(): Headers and client library minor version mismatch.
Headers:50541 Library:50626
我有点困惑,因为当我运行sudo yum list时,版本看起来是一样的.无论哪种方式,运行sudo yum update都不会实际更新软件包.
这是安装sudo yum list的输出(只是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版本7.1.1503(核心),PHP 5.4.16和5.6.26 MySQL社区服务器.
我在其他问题的答案中看到你可以安装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
有人知道如何解决这个问题吗?我不知道为什么这会像这样随机出现.在我周五离开周末之前,脚本正在工作,据我所知,没有任何改变.
解决方法:
我能够解决使用sudo yum install php-mysqlnd.我第一次尝试安装时一定输入错误.卫生署!
安装php-mysqlnd后运行sudo service httpd restart.
显然是一个同事搞砸了我们的mysql驱动程序.当被问及他是否改变了与php或mysql有关的任何内容时,他告诉我他没有.看着.bash_history,看到他重新安装了php和一堆mysql驱动程序.
学过的知识!
标签:mysql,centos,yum,php5
来源: https://codeday.me/bug/20190815/1658939.html