ubuntu php-fpm连接mysql失败怎么办

764
2025/4/1 18:32:35
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

当在Ubuntu上使用PHP-FPM连接MySQL时遇到连接失败的问题,可以尝试以下步骤进行排查和解决:

  1. 确保已安装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
    
  2. 检查MySQL服务是否正在运行: 使用以下命令检查MySQL服务状态:

    sudo systemctl status mysql
    

    如果MySQL服务未运行,请使用以下命令启动它:

    sudo systemctl start mysql
    
  3. 检查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
    
  4. 检查防火墙设置: 如果你的服务器使用了防火墙,确保开放了MySQL的默认端口3306。使用以下命令开放端口:

    sudo ufw allow 3306/tcp
    
  5. 检查PHP代码中的数据库连接信息: 确保在PHP代码中使用的数据库主机名、用户名、密码和数据库名称都是正确的。如果使用的是远程数据库服务器,请确保远程服务器允许外部连接。

  6. 查看错误日志: 检查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如何设置