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

Laravel项目页面持续加载无法打开,急求技术解决方案

排查Laravel页面持续加载无响应的额外方案
  • 检查数据库连接阻塞
    页面无限加载大概率和数据库死锁、慢查询或连接池耗尽有关。直接登进数据库执行:

    SHOW PROCESSLIST;
    

    盯着State列,找长时间处于Sleep的进程,或者标记Locked的阻塞进程,杀掉这些异常进程后再刷新页面测试。

  • 排查中间件/路由死循环
    打开app/Http/Kernel.php,先把$middleware里的全局中间件临时注释掉一半,测试页面是否能加载。如果恢复,再逐一恢复中间件定位问题;如果还是不行,检查路由分组绑定的中间件,或者看控制器里有没有递归调用、无限重定向的逻辑。

  • 检查PHP-FPM状态(Apache搭配FPM的情况)
    执行命令看FPM进程状态:

    sudo systemctl status php-fpm
    

    要是看到进程崩溃、重启频繁,或者访问FPM状态页(需提前在配置里开启)发现队列堆满,就调整php-fpm.conf里的pm.max_children、pm.start_servers参数,增大进程数试试。

  • 测试最简路由
    在routes/web.php里加一条最基础的路由:

    Route::get('/test', function () {
        return 'Test OK';
    });
    

    访问your-domain/test,如果能正常显示内容,说明问题出在原有路由、控制器或业务逻辑里,逐步往回加代码排查。

  • 核对文件权限
    再确认一遍storage和bootstrap/cache的权限,Apache或PHP进程得有读写权限:

    chown -R www-data:www-data storage bootstrap/cache
    chmod -R 775 storage bootstrap/cache
    

    别嫌麻烦,权限问题经常藏得很深。

  • 启用PHP级错误日志
    有时候Laravel日志没抓到底层PHP错误,会直接导致进程挂起。找到php.ini修改这几项:

    error_log = /var/log/php_errors.log
    log_errors = On
    error_reporting = E_ALL
    

    重启Apache后再访问页面,去/var/log/php_errors.log里找线索。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 06:52:38