4

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

请帮忙!!

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

这个参数只能在 php.ini-development 和 php.ini-production 中找到,它被注释了,所以我删除了 ;; 并增加了值并在 php.ini 文件中添加了值,但正如我在 phpinfo() 中看到的任何建议一样,这一切都被忽略了?

PHP 版本 5.3.13

4

4 回答 4

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

它确实因发行版而异。

于 2012-11-19T04:10:22.440 回答
1

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

或通过 .htaccesss 添加这个

php post_max_size = 2M
于 2012-11-19T04:22:00.527 回答
1

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

于 2012-11-19T12:15:22.310 回答
0

我的猜测是您的发行版配置为处理

post_max_size

高于标准的 2MB 并且您发送的“超过”2MB。

您可以根据服务器配置使用自定义 php.ini 或自定义“php_value post_max_size 8MB”来覆盖它。

于 2012-11-19T03:17:53.517 回答