这样的错误是由于高版本的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 $