温馨提示×

centos上php-fpm无法连接mysql怎么办

小樊
44
2025-10-21 18:59:19
栏目: 云计算

在 CentOS 上,如果 PHP-FPM 无法连接到 MySQL,你可以尝试以下步骤来解决问题:

  1. 确保已经安装了 PHP-FPM 和 MySQL 或 MariaDB。如果没有,请使用以下命令安装:

    sudo yum install php-fpm php-mysqlnd sudo yum install mariadb-server mariadb 
  2. 启动并启用 MariaDB 服务:

    sudo systemctl start mariadb sudo systemctl enable mariadb 
  3. 确保 MariaDB 服务正在运行:

    sudo systemctl status mariadb 
  4. 创建一个新的 MySQL 用户并授权访问数据库:

    sudo mysql_secure_installation 

    按照提示操作,创建一个新用户并为其分配权限。

  5. 确保 PHP-FPM 配置文件中的数据库连接信息正确。编辑 /etc/php-fpm.d/www.conf 文件,找到以下行并更新用户名、密码和数据库名:

    ; Ensure this line is set to 'yes' to enable support for PDO. pdo_mysql.default_socket = /var/lib/mysql/mysql.sock ; If using MySQL or MariaDB with older versions, you may need to specify the socket path. ;pdo_mysql.default_socket = /tmp/mysql.sock 

    [mysqld] 部分下添加以下行,替换 your_usernameyour_passwordyour_database

    bind-address = 127.0.0.1 

    [client] 部分下添加以下行,替换 your_usernameyour_password

    user = your_username password = your_password 
  6. 重启 PHP-FPM 服务以应用更改:

    sudo systemctl restart php-fpm 
  7. 检查防火墙设置,确保 MySQL 端口(通常为 3306)已打开:

    sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp sudo firewall-cmd --reload 
  8. 检查 SELinux 设置,确保允许 PHP-FPM 访问 MySQL:

    sudo setsebool -P httpd_can_network_connect_db 1 
  9. 检查 PHP 代码中的数据库连接信息是否正确。确保使用了正确的用户名、密码和数据库名。

如果问题仍然存在,请查看 PHP-FPM 和 MySQL 的日志文件以获取更多详细信息。根据日志中的错误信息,可以进一步诊断问题。

0