Linux解决Warning: mysql_connect(): Headers and client library minor version mismatch. 警告

Linux解决Warning: mysql_connect(): Headers and client library minor version mismatch. 警告

 

这两天用阿里云服务器重新部署网站服务器后,打开某php页面出现了如下警告:Warning: mysql_connect(): Headers and client library minor version mismatch. Headers:50547 Library:50631 in /XXX(某某目录)/wp-db.php on line 1520,虽然是警告,但是有的界面会因此打不开,甚是头疼,前不久用的是腾讯云服务器同样的部署方式并没有出现这个警告,一头雾水。

使用:

[plain] view plain copy

  1. php -i|grep Client

查询当前Client 版本,结果如下:

Client API version => 5.6.31
Client API library version => 5.6.31
Client API header version => 5.5.47-MariaDB
Client API version => 5.6.31

好吧,header version => 5.5.47-MariaDB 出现个奇葩,版本号不一样,怪不得报错了。据某大牛说,版本不兼容,需升级MariaDB版本至少到5.6.31或许可以解决。我的系统是CentOS7.2版本,众所周知,CentOS从7.x系列版本开始抛弃了MySQL,缺省安装的是MariaDB,虽然MariaDB兼容MySQL,但是我还是比较喜欢MySQL,所以我给服务器强制安装了MySQL,也希望一直用下去,对于这个情况,升级MariaDB这条路是不能走了。考虑当前安装的是php-mysql驱动,而当前的php版本比较新,想到这个奇葩是不是因为驱动版本较低造成的,于是尝试以下操作:

[plain] view plain copy

  1. yum remove php-mysql
  2. yum install php-mysqlnd

先卸载较低版本的 php-mysql驱动,再升级安装新版的php-mysqlnd驱动。

 

php-fpm 下安装命令为

yum install php70w-mysqlnd

OK,再重启下httpd和mysql服务:

[plain] view plain copy

  1. systemctl  restart httpd
  2. systemctl  restart mysqld

再打开网站,能正常打开,感觉可以了,再检测下那个奇葩:

[plain] view plain copy

  1. php -i|grep Client

结果如下:

Client API version => mysqlnd 5.0.10 – 20111026
Client API library version => mysqlnd 5.0.10 – 20111026
Client API version => mysqlnd 5.0.10 – 20111026

OK,版本全统一了,问题解决。

相关推荐

暂无评论

发表评论

微信扫一扫,分享到朋友圈

Linux解决Warning: mysql_connect(): Headers and client library minor version mismatch. 警告