1

关于提交多个表单,我遇到了一个小问题:

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

在本地主机上尝试,一切正常,没有任何问题。在这里,总共提交了 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

本地主机配置

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 - 扩展,默认配置。我对这个扩展不太熟悉,但是使用默认值应该会产生这种影响(我猜 :))

服务器-PHP 版本:5.3.9
本地:5.3.17

问题与这个非常相似

我正在努力解决这个问题好几个星期了,如果你有任何想法……那就太好了;)

谢谢 :)

更新:

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

$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']

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

4

1 回答 1

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 请求注册的变量的最大名称长度(不包括可能的数组索引)。此设置也是变量来源特定配置指令的上限。

于 2013-03-28T09:32:25.923 回答