PHP8.2+Laravel10部署EC2后某路由莫名500报错求助
PHP/Laravel/Inertia应用特定路由500错误排查求助
我在EC2上运行基于PHP 8.2.7/Laravel 10/Inertia/Vite/TypeScript/React的应用,最近修改一个.tsx文件后,某一特定页面路由开始返回500错误。该错误未出现在Laravel日志中,仅能在Apache日志中看到,且本地Windows的XAMPP环境无法复现。
触发变更
引发问题的变更为在.tsx文件中添加组件导入:
import NewComponent from "..."; ... // 设为false时Vite会优化掉该导入,错误不会出现;设为true时触发错误 {false && <NewComponent ... />} ...
异常路由
出现问题的是一个简单的Inertia路由,处于web+auth+verified标准中间件栈之后:
class MyController extends Controller { public function view() { return Inertia::render('MyPage'); } }
错误现象
从浏览器访问该路由时,返回无内容的500响应,响应头Content-Length: 0,Server头显示Apache/2.4.56 (Amazon Linux)。应用中其他所有路由(AJAX和页面)均正常,无TypeScript或Vite构建错误。
服务器端仅在/var/log/httpd/error_log中能看到如下错误日志:
[Fri Dec 01 15:21:08.243216 2023] [proxy_fcgi:error] [pid 1782534:tid 1782568] [client 172.31.53.240:42570] Premature end of script headers: index.php [Fri Dec 01 15:21:08.243267 2023] [proxy_fcgi:error] [pid 1782534:tid 1782568] [client 172.31.53.240:42570] AH01070: Error parsing script headers [Fri Dec 01 15:21:08.243273 2023] [proxy_fcgi:error] [pid 1782534:tid 1782568] (22)Invalid argument: [client 172.31.53.240:42570] AH01075: Error dispatching request to :
该日志表明PHP进程意外终止。
已做调试步骤
- index.php日志排查:在index.php中添加日志语句,发现异常请求缺失
SENT REQUEST和TERMINATED REQUEST日志,仅保留shutdown日志。 - Response.php调试:修改
/var/www/html/vendor/symfony/http-foundation/Response.php添加日志,发现异常请求执行到ABOUT TO SEND CONTENT后直接跳转到shutdown日志;替换响应内容为固定字符串后,日志正常但仍返回500。 - php-fpm日志检查:
/var/log/php-fpm/下的日志无相关错误记录,仅数日前有进程数超限警告。
疑似方向与求助
我怀疑问题是Laravel发送的Link头超出Apache允许的大小阈值,新增React组件依赖导致该头部长度超限,但尚未找到解决方案。
求问该问题的可能原因及后续调试方向?
内容的提问来源于stack exchange,提问作者ChaseMedallion
相关产品推荐
相关产品推荐

