【发布时间】:2010-09-18 18:14:40
【问题描述】:
Ubuntu 上 Apache 2.2.4 下的 PHP 4.4 和 PHP 5.2.3。
我正在运行 Moodle 1.5.3,最近在更新课程时遇到了问题。 $_POST 变量为空,但前提是在表单的文本区域中输入了大量文本。如果只输入一个简短的文本,它就可以正常工作。
我已将 post_max_size 从 8M 增加到 200M,并将 memory_limit 增加到 256M,但这并没有帮助。 我将 LimitRequestFieldSize 和 LimitRequestLine 加倍为 16380,并将 LimitRequestBody 设置为 0,但没有任何改进。
我已经用谷歌搜索了答案,但一直找不到。
firefox 上的 HTTP 标头显示 3816 的内容大小和正确的数据,所以它只是没有到达 $_POST。
系统运行良好,直到几周前。唯一的更改是 /etc/hosts 以更正 exim4 电子邮件服务器的 HELO 问题。
我可以在 exim4 未运行的开发机器上复制该问题,所以我认为这只是巧合。
感谢您的帮助。
【问题讨论】:
-
奇怪。您确定了确切的阈值吗?详细信息可能对那些希望重现问题的人有用。
-
你说少量文字没有问题:你能找到大概的限制吗?
-
这可能很明显,但是您是否检查过该表单确实使用 POST,而不是 GET?
-
不,确切的阈值似乎有所不同,但 2702 个字符似乎使其失败,有时更少
-
嗯...我绝对认为您需要继续努力找出问题所在。它是变量的事实表明您没有遇到某个固定限制,并且您很可能遇到了一个可能与内存管理有关的错误。有什么奇怪的字符吗?表格有什么不标准的地方吗?