如何快速解决CentOS PHP-FPM连接MySQL频繁报错的问题?
- 内容介绍
- 文章标签
- 相关推荐
在运维CentOS环境时最让人崩溃的莫过于:代码明明没错,重启PHP-FPM却疯狂报错;或者使用者访问时频繁跳出 SQLSTATE Connection refused 或 libmysqlclient.so.16: cannot open shared object file。这些掉链子的报错不仅会让网站直接瘫痪,更会让运维人员陷入焦狂。
一、 主要痛点:库文件丢失导致服务无法启动
很多同学在升级数据库或清理程序时不小心误删了zlib等基础库,导致SSH断开甚至程序无法开机。即便恢复程序后重启PHP-FPM时依然会遇到找不到动态库文件的报错:
1. 解决 libmysqlclient.so 缺失
如果报错提示libmysqlclient.so.18: cannot open shared object file这通常是因为MySQL版本升级后库文件方法不匹配或软链接失效。
方法:检查 /usr/lib64目录下是否存在该文件的软链接。话说回来,如果不存在从MySQL实际安装目录创建一个软链接:
ln -s /usr/local/webserver/mysql56/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.16
执行后重新启动PHP-FPM。
在运维CentOS环境时最让人崩溃的莫过于:代码明明没错,重启PHP-FPM却疯狂报错;或者使用者访问时频繁跳出 SQLSTATE Connection refused 或 libmysqlclient.so.16: cannot open shared object file。这些掉链子的报错不仅会让网站直接瘫痪,更会让运维人员陷入焦狂。
一、 主要痛点:库文件丢失导致服务无法启动
很多同学在升级数据库或清理程序时不小心误删了zlib等基础库,导致SSH断开甚至程序无法开机。即便恢复程序后重启PHP-FPM时依然会遇到找不到动态库文件的报错:
1. 解决 libmysqlclient.so 缺失
如果报错提示libmysqlclient.so.18: cannot open shared object file这通常是因为MySQL版本升级后库文件方法不匹配或软链接失效。
方法:检查 /usr/lib64目录下是否存在该文件的软链接。话说回来,如果不存在从MySQL实际安装目录创建一个软链接:
ln -s /usr/local/webserver/mysql56/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.16
执行后重新启动PHP-FPM。

