在5.3.9之前的版本中是否有像max_input_vars这样的限制?

时间:2013-09-27 04:28:18

标签: php configuration

似乎旧的PHP版本存在问题,并且在一种形式(see this question)中有超过1000个输入字段。

如果我使用较旧的PHP版本运行网络服务器,对于(一个嵌套级别)中的表单元素的最大数量存在限制,就像它由php.ini {控制一样{3}}自PHP 5.3.9起?

旧版本中是否无限制

如果我在php.ini或.htaccess中的旧版本中设置此变量会怎样?

我注意到,在我的服务器上运行PHP 5.3.3-7 + squeeze17,它也已经有了max_input_vars指令。

旧版本的表现究竟如何?

3 个答案:

答案 0 :(得分:3)

似乎存在混淆:

http://www.flowstopper.org/2012/12/my-php-wtf-of-day-maxinputvars.html

尽管文档说:“自PHP 5.3.9起可用。”

http://php.net/manual/en/info.configuration.php

如果我不得不猜测我会说总有一个限制,它只是被拉到5.3.9中的配置/文档中

答案 1 :(得分:1)

旧版本中似乎存在错误:

https://bugs.php.net/bug.php?id=65778

虽然您可以在php.ini中更改指令,但更改在phpinfo()中正确显示,但它没有任何效果。

行为:忽略超过1000的所有变量

在没有suhosin模块的PHP 5.3.3-7 + squeeze17中测试

可能的解决方法:compact all form-data with javascript

答案 2 :(得分:-1)

我认为您的问题不是您的表单字段的数量,我认为您发送的总数据非常多。

有一个php.ini指令可以限制您在邮件请求中完全可以发送的数据量(请查看:post_max_size)。

但是你不能在运行时更改post_max_size(因为在PHP的输入阶段你的php文件的第一行之前检查了这个值)。

您有多种方法可以更改此值:

  1. 在Webserver配置中
  2. 在htaccess文件中
  3. 使用以下代码:

    php_value post_max_size 512M # set maximum post data to 512 MB
    
    1. 在您的全球php.ini
    2. users.ini(如果已配置)
    3. 使用以下代码:

      post_max_size = 512M