在 CentOS 下,如果 Laravel 数据库连接失败,你可以按照以下步骤进行排查:
php -m | grep -E 'pdo_mysql|mbstring|openssl|tokenizer|xml|ctype|json'
如果没有安装,请安装它们:
sudo yum install php-pdo php-mysqlnd php-mbstring php-xml php-pear php-tokenizer
sudo systemctl status mysqld
如果服务没有运行,请启动它:
sudo systemctl start mysqld
.env
文件,确保数据库连接信息正确。例如:DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database_name
DB_USERNAME=your_database_user
DB_PASSWORD=your_database_password
检查防火墙设置:如果你的数据库服务器和 Laravel 应用程序部署在不同的服务器上,请确保防火墙允许访问数据库端口(通常是 3306)。
检查 SELinux 设置:如果你的系统启用了 SELinux,可能需要调整相关策略以允许 Laravel 访问数据库。你可以尝试临时关闭 SELinux 来测试是否是这个问题:
sudo setenforce 0
如果关闭 SELinux 后问题解决,你可以考虑调整 SELinux 策略或将其设置为 permissive 模式。
storage/logs/laravel.log
)以及数据库服务器的日志文件,以获取更多关于连接失败的详细信息。按照以上步骤进行排查,你应该能够找到并解决 Laravel 数据库连接失败的问题。如果问题仍然存在,请提供更多详细信息以便进一步分析。