在 Linux 上 Laravel 连不上(数据库 / Redis / 接口等)是一个很常见但原因很多的问题。我先按最常见场景给你排查清单,你对照一下;如果你能补充「连不上什么(MySQL?Redis?外网 API?)」和报错信息,我可以精确定位。
.env 配置问题(90% 原因)DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=laravel
DB_PASSWORD=secret
⚠️ 注意:
localhostDB_HOST=mysql
(服务名)
✅ 改完务必执行:
php artisan config:clear
systemctl status mysql
# 或
service mysql status
启动:
systemctl start mysql
MySQL 默认只允许 localhost
SELECT host FROM mysql.user WHERE user='laravel';
授权:
GRANT ALL PRIVILEGES ON laravel.* TO 'laravel'@'%';
FLUSH PRIVILEGES;
telnet 127.0.0.1 3306
# 或
nc -vz 127.0.0.1 3306
防火墙:
ufw status
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
Docker:
REDIS_HOST=redis
检查:
redis-cli ping
可能原因:
curl https://api.xxx.com
ping google.com
| 报错 | 原因 |
|---|---|
| SQLSTATE[HY000] | 账号/密码/权限 |
| Connection refused | 服务没起 / host错 |
| Timeout | 防火墙 / 网络 |
| 502 | Nginx / PHP-FPM 挂了 |
你可以直接发我:
.env 相关配置(可打码密码)我可以直接帮你定位到哪一行配置错了。