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

Laravel应用突发空白白屏求助:无日志无错误输出

Laravel 7.x 空白白屏(无日志、执行到Kernel::handle后终止)排查方案

一、强制开启错误输出

因为无日志提示,先在项目根目录的index.php最顶部添加以下代码,强制显示所有错误:

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

刷新页面后,就能直接看到具体的错误信息,定位问题根源。

二、捕获请求处理阶段的异常

代码卡在$kernel->handle()之后,说明请求处理过程中抛出了未被捕获的异常。给这段代码包裹try-catch,直接打印异常详情:

$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);

try {
    $response = $kernel->handle(
        $request = Illuminate\Http\Request::capture()
    );
    var_dump('请求处理完成,生成响应'); // 调试用,确认是否走到这一步
    $response->send();

    $kernel->terminate($request, $response);
} catch (\Exception $e) {
    var_dump('捕获异常:' . $e->getMessage());
    var_dump('异常堆栈:' . $e->getTraceAsString());
} catch (\Throwable $e) {
    var_dump('捕获致命错误:' . $e->getMessage());
    var_dump('错误堆栈:' . $e->getTraceAsString());
}

访问页面后,就能看到具体的错误信息,不管是普通异常还是致命错误。

三、修复目录权限

Laravel需要storage和bootstrap/cache目录有写入权限,权限丢失或变更会导致日志无法写入、应用无法正常运行:

# Linux环境下调整权限
chmod -R 755 storage bootstrap/cache
# 根据你的web服务器用户调整(比如nginx用www-data,apache用apache)
chown -R www-data:www-data storage bootstrap/cache

四、清除损坏的缓存

缓存文件损坏会导致应用启动失败,手动清除缓存:

# 命令行执行清除缓存
php artisan config:clear
php artisan route:clear
php artisan view:clear
php artisan cache:clear

如果命令行无法执行,直接删除bootstrap/cache目录下的所有文件,以及storage/framework/cache内的所有内容。

五、修复自动加载与依赖

依赖更新或自动加载文件损坏也会导致白屏,重新生成自动加载:

composer dump-autoload -o

如果之前更新过依赖,尝试重新安装确保版本一致:

composer install --no-dev

六、检查PHP环境兼容性

Laravel 7.x要求PHP版本≥7.2.5,且必须启用以下扩展:BCMath、Ctype、JSON、Mbstring、OpenSSL、PDO、Tokenizer、XML。通过php -m命令查看已安装扩展,缺少的话及时安装启用。

七、检查.env配置

确认.env文件是否被误改:

  • 临时设置APP_DEBUG=true,看是否能生成错误日志
  • 检查APP_LOG配置(比如APP_LOG=single),确保日志目录可写
  • 核对数据库、Redis等服务配置,避免连接失败导致应用崩溃

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 04:55:31