在 CentOS 下,Laravel 數據庫連接失敗可能有以下幾個原因:
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 設置:如果你的 CentOS 系統啟用了 SELinux,可能需要允許 HTTP 服務器訪問數據庫端口??梢允褂靡韵旅钆R時禁用 SELinux:
sudo setenforce 0
要永久禁用 SELinux,請編輯 /etc/selinux/config
文件,將 SELINUX=enforcing
更改為 SELINUX=disabled
。
GRANT ALL PRIVILEGES ON your_database_name.* TO 'your_database_user'@'localhost';
FLUSH PRIVILEGES;
config/app.php
文件中注冊了正確的數據庫服務提供商。例如,對于 MySQL 數據庫,應添加以下行:'providers' => [
// ...
Illuminate\Database\DatabaseServiceProvider::class,
],
檢查以上原因,并根據具體情況進行相應的調整。希望這些信息能幫助你解決 Laravel 數據庫連接失敗的問題。