当数据太大时,php中的$ _POST为空

时间:2012-11-19 03:12:34

标签: php post

我们使用php开发了一个Web应用程序。它完美运行,直到客户端将其迁移到VMware。因为在POST中发送的一些表单没有被发送,我们发现只有在发送了一定数量的数据时才会发生。 只有在VMware环境中运行应用程序时才会发生这种情况。

请帮助!!

更新: 在apache_error.log文件中,我发现以下错误: PHP警告:未知:输入变量超过1000.在php.ini中增加限制更改max_input_vars。在第0行的Unknown中,referer:.....

这个参数只能在php.ini-development和php.ini-production中找到,并且它被注释了所以我删除了;;并增加了值,并在php.ini文件中添加了值,但它都被忽略,因为我可以在phpinfo()中看到 有什么建议吗?

PHP版本5.3.13

4 个答案:

答案 0 :(得分:1)

在php.ini中注释的max_input_vars很可能意味着它正在使用默认值。您可以通过取消注释来覆盖它。在这种情况下,评论并不意味着被忽略。

post_max_size参数也应该可以在php.ini文件中配置。确保在测试之前和更改该文件中的任何内容之后重新启动apache。在php.ini文件中,找到说

的行
post_max_size = 2M

(或任何最大尺寸)

并将其增加到8M或类似的东西。

您的php.ini文件可能位于

,也可能不位于

/etc/php5/apache2/php.ini

从发行版到发行版真的不一样。

答案 1 :(得分:1)

将php.ini中post_max_size的值更改为post_max_size = 2M

或通过.htaccesss添加此

php post_max_size = 2M

答案 2 :(得分:1)

通过增加php.ini文件中max_input_vars的值来解决它。 这值得知道其中一个症状是POST数组是空的......

答案 3 :(得分:0)

我的猜测是你有一个配置为处理

的发行版
post_max_size

高于标准的2MB,你发送的“超过”2MB。

您可以使用自定义php.ini或自定义“php_value post_max_size 8MB”覆盖此设置,具体取决于服务器配置。