Ubuntu 20.04环境下Laravel脚本出现500服务器错误求助
解决Laravel 500错误(SQLSTATE[HY000] [2002] No such file or directory)
这个错误核心是Laravel无法连接MySQL数据库,具体为找不到MySQL的Unix套接字文件,或MySQL服务未运行。按以下步骤排查:
检查MySQL服务状态
先确认MySQL是否在运行:sudo systemctl status mysql如果显示
inactive (dead),启动服务并设置开机自启:sudo systemctl start mysql sudo systemctl enable mysql确认MySQL套接字实际路径
运行命令获取当前MySQL使用的套接字路径:mysql -e "show variables like 'socket'"输出示例:
/var/run/mysqld/mysqld.sock(MariaDB可能是/var/run/mariadb/mariadb.sock)修正Laravel数据库配置
编辑项目根目录的.env文件:- 如果存在
DB_SOCKET项,将其值替换为上面查到的套接字路径:DB_SOCKET=/var/run/mysqld/mysqld.sock - 若没有
DB_SOCKET,直接添加该行;或者将DB_HOST从localhost改为127.0.0.1,强制Laravel使用TCP连接替代套接字连接。
- 如果存在
清除Laravel配置缓存
执行命令刷新配置缓存,确保新的数据库配置生效:php artisan config:clear生产环境可再执行:
php artisan config:cache额外检查
确保.env文件权限正确(Laravel进程需能读取该文件),避免因权限问题导致配置未加载。
内容的提问来源于stack exchange,提问作者keber
相关产品推荐
相关产品推荐

