在271个提交的变量之后,PHP表单提交结束

时间:2013-03-28 09:15:27

标签: php forms post submit php-ini

关于提交多种表格,我遇到了一些问题:

我正在尝试提交更多的$_POST-variables,但是,在提交了总共 271 表单变量之后,我的服务器端脚本结束(或者只是分解) 。

尝试使用localhost,一切正常,没有任何问题。 在这里,总共提交了771个变量。

到目前为止,我还做了一些研究,试图计算出为了配置更大的数据范围或类似的东西,我可以改变哪种变量。

所以这是我的服务器配置:

max_execution_time  30  30
max_input_nesting_level 64  64
max_input_time  60  60
max_input_vars  1000    1000
memory_limit    256M    256M
post_max_size   8M  8M

localhost配置

max_execution_time  30  30
max_file_uploads    20  20
max_input_nesting_level 64  64
max_input_time  60  60
max_input_vars  1000    1000
memory_limit    256M    256M
post_max_size   8M  8M

如您所见,它的配置相同...... 我的服务器上也安装了 suhosin - extension ,默认配置。我对这个扩展并不熟悉,但是使用默认值会产生这种影响(我猜:))

Server-PHP Version:5.3.9
当地:5.3.17

问题与此one非常相似。

如果你有任何想法,我现在正试图解决这个问题几周......它会很棒;)

谢谢:)

更新:

如果我使用这种方法(thanks):

$pairs = explode("&", file_get_contents("php://input"));
$vars = array();
foreach ($pairs as $pair) {
    $nv = explode("=", $pair);
    $name = urldecode($nv[0]);
    $value = urldecode($nv[1]);
    $vars[$name] = $value;
}
print_r($vars);

我看到之前显示的所有表单变量和内容。但是,使用

直接访问$ _POST变量
isset($_POST['LanguageContentForm']

并将其保存到变量不起作用..:/

1 个答案:

答案 0 :(得分:0)

如果你检查phpinfo(),你可以在每台机器上看到suhosin.post.max_vars的var。

您应该可以使用以下内容在.htaccess中更改它:

php_value suhosin.post.max_vars 1000
php_value suhosin.request.max_vars 1000

更新

也许这个也是:

suhosin.request.max_varname_length

Type: Integer
Default: 64

定义可通过COOKIE,URL或POST请求注册的变量的最大名称长度(不包括可能的数组指示)。此设置也是变量源特定配置指令的上限。