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

Laravel 9应用部署到BlueHost遇阻求助

解决BlueHost共享主机部署Laravel应用的问题

针对你遇到的三个问题,逐个给出可行的解决方案:

1. 403 Forbidden 错误(核心问题:部署结构错误)

共享主机默认把public_html作为网站根目录,而Laravel的入口文件在项目的public目录下,直接上传整个项目到public_html会导致权限和路径错误。正确步骤:

  • 把Laravel项目中public目录下的所有文件(包括.htaccess),移动到主机的public_html目录里
  • 将Laravel项目的其余文件(app、config、vendor、bootstrap等)上传到public_html的上级目录(比如主机根目录,和public_html同级的位置,建议新建一个文件夹比如laravel-app存放这些文件)
  • 修改public_html里的index.php文件,调整加载路径:
    // 替换原来的vendor加载路径
    require __DIR__.'/../laravel-app/vendor/autoload.php';
    // 替换原来的app加载路径
    $app = require_once __DIR__.'/../laravel-app/bootstrap/app.php';
    
  • 在cPanel文件管理器中,设置public_html目录权限为755,目录内文件权限为644(右键文件/目录,选择「更改权限」)

2. CyberDuck/SSH上传失败

这个问题本质还是部署结构错误,按照上面的步骤调整上传路径即可:

  • 用CyberDuck或SSH把项目核心文件(app、config等)传到public_html上级的laravel-app目录
  • 把public目录内容传到public_html
  • 无需修改额外设置,确保上传过程中没有文件遗漏

3. Git克隆提示public_html已有文件

先清理public_html里的默认文件(比如初始的index.html、cgi-bin文件夹),再按以下步骤操作:

  • 通过cPanel的终端(如果有)或SSH,在主机根目录执行:
    git clone 你的GitHub仓库地址 laravel-app
    
  • 把laravel-app/public下的所有文件复制到public_html目录
  • 修改public_html/index.php的路径(同第一个问题的步骤)
  • 如果没有终端权限,也可以本地把项目打包成ZIP,上传到主机根目录后用cPanel的「解压」功能,再调整文件结构

额外注意事项

  • 复制本地的.env文件到主机的laravel-app目录,修改数据库配置(BlueHost后台可查看数据库地址、用户名、密码),并设置APP_URL为你的域名
  • 如果无法运行php artisan key:generate,本地生成后把.env里的APP_KEY值复制到主机的.env文件中
  • 确保主机的PHP版本和你本地开发时的版本一致(在cPanel的「PHP版本」里调整)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 06:35:30