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

Laravel项目无限挂起无响应,请求处理终止失败求助

Laravel项目无限挂起问题排查求助

执行php artisan serve后页面持续加载,无响应也无超时,调试定位到入口代码段:

$response = $kernel->handle(
    $request = Request::capture()
)->send();

仅修改了控制器代码(拉取推送的变更),未改动其他内容,修改后出现该问题。已尝试重新下载项目、确认数据库配置正确,问题仍存在。

补充信息

  • 尝试通过vhost和php -S localhost:8000 -t .运行,问题依旧;
  • 同一环境下localhost/phpMyAdmin也出现无响应;
  • XAMPP启动Apache时,80、443端口自动改为64129、64130。

环境版本

php version: 8.2.4
laravel's php version: 8.0.2
laravel version: 9.2

排查及解决建议

1. 端口与网络层面排查

  • 检查80、443端口占用情况(Windows用netstat -ano | findstr ":80",Linux/macOS用lsof -i :80),Apache自动换端口说明原端口被占用,可能导致本地请求阻塞;
  • 尝试绑定未被占用的端口启动服务,比如php artisan serve --port=9000,测试访问localhost:9000是否正常响应。

2. 代码逻辑阻塞排查

  • 聚焦控制器变更代码:检查是否存在无限循环、未提交的数据库事务、同步调用慢外部接口、死锁等情况;
  • 查看storage/logs/laravel.log日志,确认请求是否进入控制器,定位阻塞节点;若日志无输出,说明请求卡在中间件或请求捕获阶段;
  • 临时注释控制器新增代码,逐步恢复,排查触发阻塞的具体代码段。

3. PHP版本兼容性排查

  • 当前PHP版本8.2.4高于Laravel要求的8.0.2,虽Laravel 9支持8.0+,但高版本PHP可能存在函数或扩展兼容性问题;
  • 切换到符合要求的PHP 8.0.x版本,测试项目是否正常运行。

4. 依赖服务排查

  • 检查MySQL、Redis等服务是否正常启动,phpMyAdmin无响应可能是数据库服务异常,导致Laravel请求卡在数据库初始化环节;
  • 用php artisan tinker测试数据库连接:执行DB::connection()->getPdo(),查看是否有连接超时或阻塞情况。

5. 请求捕获阶段排查

  • 检查app/Http/Kernel.php中的全局中间件,是否新增了可能导致阻塞的中间件;
  • 临时移除非必要全局中间件,测试请求是否能正常处理;排查是否有自定义请求类修改了Request::capture()逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 14:22:08