PHP Warning: mysqli::mysqli(): Headers and client library minor version mismatch. Head 警告的解决办法

这样的错误是由于高版本的MySQL,低版本的MySQL Client API引起的,并非致命错误,但是看着有比较烦,干脆研究解决了为好。
检查PHP Client信息,可以看到下列信息:

# php -i|grep Client
Client API version => 5.3.12-MariaDB
Client API library version => 5.3.12-MariaDB
Client API header version => 5.1.73
Client API version => 5.3.12-MariaDB

可以看到是Client API header版本低于当前MariaDB的版本导致的。

解决办法

根据PHP版本将php-mysql替换为php-mysqlnd,我当前PHP版本为 5.6,所以执行如下命令

// 先停止php-fpm进程
service php-fpm stop

// 替换PHP扩展
yum remove -y php56w-mysql
yum install -y php56w-mysqlnd

// 启动php-fpm进程
service php-fpm start

最后访问站点,并查看Nginx错误日志,发现日志中已经没有上述报错了。
检查版本信息如下:

# php -i|grep Client
Client API version => mysqlnd 5.0.11-dev - 20120503 - $Id: xxxxxxxxxxxxxxxxxxxxxxx $
Client API library version => mysqlnd 5.0.11-dev - 20120503 - $Id: xxxxxxxxxxxxxxxxxxxxxxx $
Client API version => mysqlnd 5.0.11-dev - 20120503 - $Id: xxxxxxxxxxxxxxxxxxxxxxx $

你可能感兴趣的:(Headers,and,client,library,minor,ve,MySQL,PHP)