apache - 当标头很大时,apache 抛出 500
问题描述
我使用 PHP 输出自定义的自定义标头:
//build a long header string
$arr = [];
for($x = 0; $x < 1167; $x++) {
$arr[] = 'cool';
}
header('x-http-myheader: ' . json_encode($arr));
我有 apache 配置:
LimitRequestBody 0
LimitRequestFields 0
LimitRequestFieldSize 999999
LimitRequestLine 999999
运行 PHP 脚本可以正常工作,除非您递增1167
到1168
. 这样做会导致 apache 抛出 500 Internal Server Error 消息:Premature end of script headers: php-cgi.exe
显然这是一个标头大小或文件大小限制,但无论我将 LimitRequestX 设置为什么,一旦标头达到一定大小,Apache 仍然会抛出错误。
如何让 Apache 允许更大的标头?
解决方案
如果这出现在您的 Apache 日志中:
Premature end of script headers: index.php
AH01070: Error parsing script headers
AH01075: Error dispatching request to:
mod_proxy_fcgi 可能有问题:它不接受大小大于 8192 字节的标头。
在这里您可以看到 ASF Bugzilla 中报告的错误:
推荐阅读
- python - Python asyncio:进入临时异步上下文?
- python - 我想将 R 代码转换为 python。如何使用 python 执行以下给定的操作?
- excel - 在 Excel Javascript API 中使用任意大小的数组设置范围值?
- html - 如何在浏览器视口之外渲染图片?
- powershell - 如何通过powershell使用rest api在azure devops中创建测试运行附件
- javascript - 如何将两种服务变成一种服务?
- r - How can I correct my for loop code to ensure that it is applied to each of my columns and the results are combined together?
- sql-server - SQL 更新设置值 where
- r - 如果函数参数中有NULL,有没有办法删除它们
- build - CMake - 使用外部库作为 APR