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

Laravel项目部署至Cpanel后访问出现空白页问题求助

Laravel部署到Cpanel后访问路由显示空白页的排查解决步骤

1. 先看错误日志,定位核心问题

空白页几乎都是因为PHP错误被屏蔽,直接看Laravel日志:

  • 找到项目根目录下的storage/logs/laravel.log,查看最新的日志条目,里面会明确显示报错原因(比如权限不足、依赖缺失、路径错误、数据库连接失败等)。
  • 如果日志无法访问,临时修改public_html/index.php,在文件最顶部添加:
    ini_set('display_errors', 1);
    error_reporting(E_ALL);
    
    刷新页面就能看到具体错误信息。

2. 确认目录权限设置

Laravel需要特定目录有读写权限:

  • 将storage、bootstrap/cache目录的权限设为755或775(部分主机可能需要777,但优先选前两者),目录内文件权限设为644。
  • 在Cpanel文件管理器中右键对应目录,选择「更改权限」,勾选对应权限即可。

3. 修正部署目录结构与index.php路径

Cpanel的网站根目录是public_html,正确部署逻辑是:

  • 把Laravel项目的所有文件(除了public目录)上传到Cpanel的根目录(也就是public_html的同级目录)。
  • 把Laravel项目public目录下的所有文件/文件夹,全部移动到public_html目录里。
  • 修改public_html/index.php中的路径:
    找到这两行:
    require __DIR__.'/../vendor/autoload.php';
    $app = require_once __DIR__.'/../bootstrap/app.php';
    
    根据你项目文件的实际位置调整路径,比如项目文件放在根目录的laravel-project文件夹里,就改成:
    require __DIR__.'/../laravel-project/vendor/autoload.php';
    $app = require_once __DIR__.'/../laravel-project/bootstrap/app.php';
    
    路径错误会直接导致无法加载核心文件,出现空白页。

4. 检查.env配置文件

  • 确保项目根目录存在.env文件,没有的话复制.env.example并重命名为.env。
  • 生成应用密钥:如果有Cpanel终端,执行php artisan key:generate;没有终端的话,手动生成32位随机字符串,放到.env的APP_KEY字段中(格式:APP_KEY=base64:xxxxxx)。
  • 验证APP_URL是否设为你的域名(比如APP_URL=http://mydomain.com),数据库配置(DB_HOST、DB_DATABASE、DB_USERNAME、DB_PASSWORD)是否正确,路由用到数据库的话,配置错误会引发致命错误。

5. 清除Laravel缓存

缓存过期或配置缓存错误也可能导致空白页:

  • 如果有Cpanel终端/SSH权限,执行以下命令:
    php artisan cache:clear
    php artisan config:clear
    php artisan route:clear
    php artisan view:clear
    
  • 没有终端权限的话,手动删除bootstrap/cache目录下的所有文件(注意不要删文件夹本身)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 09:30:58