You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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文件:

    1. 如果存在DB_SOCKET项,将其值替换为上面查到的套接字路径:
      DB_SOCKET=/var/run/mysqld/mysqld.sock
      
    2. 若没有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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 01:55:18