可能是POST请求仅限于大小吗?我有一个大的过程,我想缓存输出。基本上我想在缓存中存储一个lare html-table,因为特定项目的增长,查询的数量以及响应时间已经失控。
现在我发送一个由ajax调用检索的大输出,在另一个ajax调用中(在第一个完成之后),但我只收到一小段数据。我认为我的ajaxfunction是正确的,因为存储的输出总是相同的(以字符为单位)。但是我错过了缓存中大约90%的输出......
答案 0 :(得分:7)
默认情况下,POST方法的最大大小为8 Mb(可以通过设置php.ini文件中的post_max_size来更改)。
“可能是POST请求仅限于大小?”
是的,有一个PHP设置:post_max_size
答案 1 :(得分:3)
我自己遇到了这个问题并发现自PHP 5.3.9以来,有一个新的设置可以限制发布变量的总数(不仅仅是大小)。
max_input_vars = 1000
如果您当时使用的是夜间或候选版本的PHP,这可能与您遇到的问题相同。
答案 2 :(得分:2)
在php.ini
中查找这些设置; Maximum size of POST data that PHP will accept.
; http://php.net/post-max-size
post_max_size = 8M
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 128M
post_max_size指定POST的最大大小,因为它必须包含在内存中,所以内存限制必须更大。内存必须包含正在运行的程序和所有堆变量,包括POST。
如果仅增加post_max_size超出或接近内存限制而忘记增加memory_limit,则当内存耗尽时,POST大小将限制为较低的值。
在此示例中,您可以看到默认设置。