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

Laravel 7部署至cPanel后显示空白页问题求助

Laravel 7 部署到 cPanel 空白页排查方案

1. 先查看具体错误信息

空白页大多是PHP错误被屏蔽,先开启错误显示定位问题:

  • 在public/index.php最顶部添加代码:
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);
    error_reporting(E_ALL);
    
  • 或者直接查看cPanel的「错误日志」功能,找到网站的PHP错误记录。

2. 修复目录权限

Laravel需要storage和bootstrap/cache目录有写入权限:

  • 通过cPanel文件管理器右键选中这两个目录,修改权限为755(或775,根据主机用户组配置);
  • 若有SSH权限,执行命令:
    chmod -R 755 storage bootstrap/cache
    chown -R 你的cPanel用户名:你的cPanel用户名 storage bootstrap/cache
    

3. 确认PHP版本兼容性

Laravel 7 要求PHP版本 ≥7.2.5,你当前根目录.htaccess指定了PHP7.4,需确保:

  • 在cPanel的「PHP版本管理器」中直接设置网站使用PHP7.4(比.htaccess的AddHandler更可靠);
  • 若主机不支持PHP7.4,升级到符合要求的版本。

4. 优化根目录重写规则(或修改文档根目录)

方案一:调整根目录.htaccess规则

当前规则可能存在跳转问题,替换为:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^/public/
    RewriteRule ^(.*)$ /public/$1 [L,R=301]
</IfModule>
<IfModule mime_module>
  AddHandler application/x-httpd-alt-php74 .php .php7 .phtml
</IfModule>

同时确认cPanel已启用mod_rewrite模块(可联系主机商确认)。

方案二:修改网站文档根目录(推荐)

Laravel官方推荐将public目录设为网站根目录:

  • 在cPanel的「域名」管理中,找到对应域名的「文档根目录」设置,修改为public文件夹路径(比如public_html/your-site/public)。

5. 完善.env配置

  • 确保已复制.env.example为.env文件,若没有则手动创建;
  • 执行php artisan key:generate生成应用密钥(cPanel可通过「终端」功能运行该命令);
  • 设置APP_DEBUG=true(仅开发环境使用,生产环境改为false),APP_URL填写你的网站域名。

6. 验证public目录.htaccess

当前public目录的.htaccess是Laravel默认配置,若前面步骤都完成后仍有问题,可尝试注释掉Options -MultiViews -Indexes行,测试是否生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 03:17:04