PHP 无法正确处理“更大”的 http 请求

PHP 无法正确处理“更大”的 http 请求

操作系统更新后,Web 服务器/PHP/MediaWiki 不再能正确处理“较大”的 HTTP 请求。Wiki 文章内容在约 6K 个字符后被截断,MediaWiki 报告会话丢失。

症状:我第一次意识到这个错误是因为我之前安装的 MediaWiki (PHP)。当我编辑一篇文章时,如果其大小超过约 6k 个字符,文章文本就会被截断,MediaWiki 会拒绝保存新文本,但会报告会话丢失错误。较小的文章不受影响。

问题: 这可能是 PHP 中的错误吗?我应该提交错误报告吗?还是我做错了什么?是不是配置有误?

语境:在家里,我最近将我的 raspbian LAMP 服务器从 wheezy 更新到了 jessie。之前一切运行良好。

  1. 操作系统:Raspberry Pi 上的 Raspbian jessie(以前称为 wheezi)。
  2. Apache 2.4。
  3. phpinfo() 没有显示 suhosin 的迹象,有时报告称这会导致较大的 http 请求出现问题。此外,网络上有时提到的其他 PHP 参数也没有可疑之处:PHP 版本 5.6.24-0+deb8u1。max_input_time=60、max_execution_time=30、post_max_size=8M

我到目前为止尝试过的:

  1. 其他 PHP 程序:为了进一步调查,我通过一个简单的 PHP 文件上传脚本上传了文件。类似的问题;文件上传不起作用。(供您参考,上传脚本的代码取自此处:http://www.codingcage.com/2014/12/simple-file-uploading-with-php.html该脚本使用简单表单数据,没有 Ajax,没有 JSON,...)
  2. 较大的文件导致拆分:此外,较大的 http 文件上传请求(使用几百 KB 的文件)似乎被拆分为两个请求。apache 访问日志文件显示(请记住,这实际上只是来自浏览器的单个请求):
    • ... - - [05/Aug/2016:10:52:38 +0200] "POST /simpleupload.php HTTP/1.1" 200 85689 "https://.../simpleupload.php“Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0”
    • ... - - [05/八月/2016:10:52:38 +0200] "\xb4W\xcd\xff" 400 557 "-" "-" -
  3. 其他浏览器:可以使用不同的浏览器复制该行为:Linux 上的 Firefox、Windows 上的 Firefox 38 以及同一台机器上的 elinks 浏览器。
  4. 消除网络问题:我使用 elinks 访问本地主机上的网络服务器。MediaWiki 和 PHP 文件上传脚本中也存在同样的问题。
  5. 增加了日志级别:增加 Apache 日志级别以进行调试不会在请求处理期间产生任何新信息。
  6. Perl 不会发生错误:使用 Perl 编写的其他文件上传脚本不会发生此问题。文件上传工作正常。因此,这似乎不是操作系统、Apache、浏览器等的问题……

评论:这是我尝试重新表述我锁定/搁置的问题https://unix.stackexchange.com/questions/301444/small-http-requests-get-truncated,我无法再编辑它。

答案1

就我而言,我遵循了https://wiki.debian.org/LaMp改为“aptitude install php5 php5-mysql libapache2-mod-php5”,将已安装的 libapache2-mod-php5filter 替换为 libapache2-mod-php5。这解决了我的问题。

以下是对这两个包之间的差异的解释的链接:apache2 和 php5:模块或过滤器。但是,我不明白为什么在我的例子中,过滤器会导致这个奇怪的问题。但无论如何,现在问题已经解决了。

相关内容