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

Laravel部署GoDaddy出现500内部服务器错误求助

解决Laravel部署后数据库访问拒绝(错误用户)问题

问题核心分析

你的.env配置的数据库用户是myusername,但错误日志里显示Laravel尝试用不存在的softkxnz_ecommerce用户连接数据库,说明当前生效的数据库配置并非你看到的.env内容,要么是配置被覆盖,要么是缓存未清除彻底。

具体解决步骤

  1. 检查config/database.php的硬编码配置
    打开项目根目录下的config/database.php,找到mysql配置段,确认用户名和密码是否使用env()函数读取,而非直接写死:

    'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', 'localhost'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', ''),
        'username' => env('DB_USERNAME', ''), // 不能直接写'softkxnz_ecommerce'
        'password' => env('DB_PASSWORD', ''),
        // ...其他配置
    ],
    

    如果这里直接写死了softkxnz_ecommerce,改成用env('DB_USERNAME')读取。

  2. 修正.env文件的语法错误
    你的.env里用户名和密码加了单引号,Laravel的.env文件不需要额外引号,这会导致读取到的用户名是'myusername'(带引号),与实际数据库用户不符,去掉引号:

    DB_CONNECTION=mysql
    DB_HOST=localhost
    DB_PORT=3306
    DB_DATABASE=database1
    DB_USERNAME=myusername
    DB_PASSWORD=mypass
    
  3. 彻底清除所有缓存
    通过GoDaddy SSH执行以下命令,确保Laravel的配置、缓存都被清除:

    php artisan config:clear
    php artisan cache:clear
    php artisan route:clear
    php artisan view:clear
    

    如果服务器开启了OPcache,需联系GoDaddy支持重启PHP服务,或在主机控制面板找到PHP重启选项,避免OPcache缓存旧配置文件。

  4. 确认.env文件的权限和正确性

    • 检查服务器上的.env文件是否为修改后的版本,避免FTP上传失败导致旧配置残留。
    • 设置.env文件权限为644,确保Laravel进程能读取该文件:
      chmod 644 .env
      
  5. 检查环境特定配置文件
    确认项目根目录下是否有.env.local、.env.production这类环境专属配置文件,这些文件的配置会覆盖主.env,若存在需检查其中的数据库用户配置。

  6. 重新生成配置缓存(可选)
    确认上述步骤完成后,若需要缓存配置提升性能,执行:

    php artisan config:cache
    

    注意:执行此命令后,Laravel会将所有配置缓存到文件中,后续修改.env需要重新执行config:clear和config:cache。

内容的提问来源于stack exchange,提问作者user24580233

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 12:32:11