如果你在使用 PHP-FPM 连接 MySQL 时遇到问题,可以尝试以下步骤来解决:
确保已安装 PHP MySQL 扩展:对于 PHP 7.x,请安装 php7.x-mysql
包:
sudo apt-get updatesudo apt-get install php7.x-mysql
对于 PHP 8.x,请安装 php8.x-mysql
包:
sudo apt-get updatesudo apt-get install php8.x-mysql
检查 MySQL 服务是否正在运行:
sudo systemctl status mysql
如果服务未运行,请启动它:
sudo systemctl start mysql
检查防火墙设置,确保 MySQL 端口(通常为 3306)已打开。
检查 MySQL 配置文件 /etc/mysql/mysql.conf.d/mysqld.cnf
或 /etc/my.cnf
中的 bind-address
设置。如果你想允许来自任何 IP 的连接,请将其设置为 0.0.0.0
:
bind-address = 0.0.0.0
然后重启 MySQL 服务:
sudo systemctl restart mysql
检查 PHP-FPM 配置文件(通常位于 /etc/php/7.x/fpm/pool.d/www.conf
或 /etc/php/8.x/fpm/pool.d/www.conf
),确保 listen
指令设置正确。例如:
listen = /run/php/php7.x-fpm.sock
或
listen = 127.0.0.1:9000
确保 PHP 代码中的数据库连接信息(主机名、用户名、密码、数据库名)正确无误。
查看 PHP-FPM 和 MySQL 的错误日志,以获取更多关于连接问题的详细信息。PHP-FPM 错误日志通常位于 /var/log/php7.x-fpm.log
或 /var/log/php8.x-fpm.log
,MySQL 错误日志通常位于 /var/log/mysql/error.log
。
尝试以上步骤后,如果问题仍然存在,请提供更多详细信息,以便我能更好地帮助你解决问题。