CentOS 上的 Laravel 數據庫連接失敗可能有以下幾個原因:
.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
確保這些值與您的實際數據庫設置相匹配。
# 對于 MySQL
sudo systemctl status mysqld
sudo systemctl start mysqld
# 對于 MariaDB
sudo systemctl status mariadb
sudo systemctl start mariadb
防火墻設置:如果您的數據庫服務器和 Laravel 應用程序部署在不同的服務器上,請確保防火墻允許數據庫端口(通常是 3306)的通信。
數據庫用戶權限:請確保數據庫用戶具有足夠的權限訪問指定的數據庫。您可以使用以下命令來檢查和修改用戶權限:
# 登錄到 MySQL
mysql -u root -p
# 檢查用戶權限
SHOW GRANTS FOR 'your_database_user'@'your_database_host';
# 如果需要,授予權限
GRANT ALL PRIVILEGES ON your_database_name.* TO 'your_database_user'@'your_database_host';
FLUSH PRIVILEGES;
sudo setenforce 0
如果確定是 SELinux 導致的問題,可以參考 CentOS 官方文檔 調整 SELinux 策略。
請逐一排查這些原因,找到并解決導致 Laravel 數據庫連接失敗的問題。