当在Ubuntu上使用PHP-FPM连接MySQL时遇到连接失败的问题,可以尝试以下步骤进行排查和解决:
确保已安装PHP MySQL扩展:
对于PHP 7.x,需要安装php7.x-mysql
扩展;
对于PHP 8.x,需要安装php8.x-mysql
扩展。
使用以下命令安装:
sudo apt-get update
sudo apt-get install php7.x-mysql
或者
sudo apt-get update
sudo apt-get install php8.x-mysql
检查MySQL服务是否正在运行: 使用以下命令检查MySQL服务状态:
sudo systemctl status mysql
如果MySQL服务未运行,请使用以下命令启动它:
sudo systemctl start mysql
检查MySQL配置文件中的绑定地址:
打开MySQL配置文件/etc/mysql/mysql.conf.d/mysqld.cnf
,找到bind-address
这一行,确保其值为0.0.0.0
或者注释掉这一行。这样可以允许外部连接。
bind-address = 0.0.0.0
修改后,重启MySQL服务:
sudo systemctl restart mysql
检查防火墙设置: 如果你的服务器使用了防火墙,确保开放了MySQL的默认端口3306。使用以下命令开放端口:
sudo ufw allow 3306/tcp
检查PHP代码中的数据库连接信息: 确保在PHP代码中使用的数据库主机名、用户名、密码和数据库名称都是正确的。如果使用的是远程数据库服务器,请确保远程服务器允许外部连接。
查看错误日志:
检查PHP-FPM和MySQL的错误日志,以获取更多关于连接失败的详细信息。PHP-FPM错误日志通常位于/var/log/php7.x-fpm.log
(对于PHP 7.x)或/var/log/php8.x-fpm.log
(对于PHP 8.x)。MySQL错误日志通常位于/var/log/mysql/error.log
。
根据以上步骤进行排查和解决,应该可以找到并解决PHP-FPM连接MySQL失败的问题。如果问题仍然存在,请提供更多详细信息以便进一步分析。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: Ubuntu服务器端口变更后Putty如何设置