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

在Railway部署Laravel应用遇权限及数据库连接错误求解决方案

Railway部署Laravel应用的两个错误解决方案

错误1:执行Artisan::call('view:clear')触发权限异常

ErrorException
file_put_contents(/app/bootstrap/cache/config.php): Failed to open stream: Permission denied
http://127.0.0.1:8000/

解决办法:

  • 给Laravel缓存和存储目录设置正确权限,在Railway终端执行:
    chmod -R 775 bootstrap/cache storage
    chown -R www-data:www-data bootstrap/cache storage
    
  • 若用Docker部署,在Dockerfile中添加权限配置:
    RUN chmod -R 775 bootstrap/cache storage
    RUN chown -R www-data:www-data bootstrap/cache storage
    
  • 调整启动命令,先修复权限再执行artisan操作,示例:
    chmod -R 775 bootstrap/cache storage && php artisan view:clear && php artisan serve
    

错误2:数据库连接地址解析失败

Illuminate\Database\QueryException
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known (SQL: SET lc_time_names = 'es_ES')

解决办法:

  • 核对Railway控制台的数据库环境变量:确保DB_HOST是Railway提供的远程数据库主机地址,不要用localhost或127.0.0.1
  • 确认DB_PORT、DB_DATABASE、DB_USERNAME、DB_PASSWORD完全匹配Railway数据库服务的参数
  • 重启Railway应用服务,确保环境变量生效
  • 若使用配置缓存,在环境变量正确设置后执行:php artisan config:cache

内容的提问来源于stack exchange,提问作者Alberto Acuña

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 04:55:24