centos

centos下laravel数据库连接失败

小樊
38
2025-06-30 11:50:55
栏目: 智能运维

在 CentOS 下,如果 Laravel 数据库连接失败,你可以按照以下步骤进行排查:

  1. 确保已经安装了正确的 PHP 扩展:Laravel 需要一些特定的 PHP 扩展,例如 PDO、PDO_MYSQL、MBString、OpenSSL、Tokenizer、XML、Ctype 和 JSON。你可以使用以下命令来检查这些扩展是否已经安装:
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
  1. 检查数据库服务是否正在运行:确保 MySQL 或 MariaDB 服务正在运行。你可以使用以下命令来检查服务状态:
sudo systemctl status mysqld

如果服务没有运行,请启动它:

sudo systemctl start mysqld
  1. 检查数据库配置:打开 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
  1. 检查防火墙设置:如果你的数据库服务器和 Laravel 应用程序部署在不同的服务器上,请确保防火墙允许访问数据库端口(通常是 3306)。

  2. 检查 SELinux 设置:如果你的系统启用了 SELinux,可能需要调整相关策略以允许 Laravel 访问数据库。你可以尝试临时关闭 SELinux 来测试是否是这个问题:

sudo setenforce 0

如果关闭 SELinux 后问题解决,你可以考虑调整 SELinux 策略或将其设置为 permissive 模式。

  1. 查看日志:检查 Laravel 的日志文件(通常位于 storage/logs/laravel.log)以及数据库服务器的日志文件,以获取更多关于连接失败的详细信息。

按照以上步骤进行排查,你应该能够找到并解决 Laravel 数据库连接失败的问题。如果问题仍然存在,请提供更多详细信息以便进一步分析。

0
看了该问题的人还看了