2013-03-28 56 views
1

结束我就提交多种形式的一个小问题:PHP提交表单后提交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

的问题与此one非常相似。

我想现在要解决好几个星期的问题,如果你有什么样的想法..这纯粹是伟大的;)

谢谢:)

UPDATE:

如果我使用这个方法(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); 

我看到所有的表单变量,并说我之前显示的内容。然而,通过使用

isset($_POST['LanguageContentForm'] 

和保存是一个变量不起作用直接访问$ _ POST变量..:/

+2

'localhost'' POST'请求​​会更快地传输,所以它可能不会触及_max_execution_time_。如果将'localhost'上的_max_execution_time_降低到非常小的值,您可以在本地重现问题吗?同样,如果您增加远程服务器上的值,问题是否仍然存在? – andyb 2013-03-28 09:21:07

+0

可以帮助吗? http://stackoverflow.com/questions/5077969/php-some-post-values-missing-but-are-present-in-php-input – Natrium 2013-03-28 09:21:21

+0

你能检查Apache日志文件,并有任何记录错误吗? – Amit 2013-03-28 09:21:54

回答

0

如果检查phpinfo()函数,你可以看到一个suhosin.post变种.max_vars在每台机器上。

你应该可以改变它。htaccess的像这样的东西:变量

suhosin.request.max_varname_length 

Type: Integer 
Default: 64 

定义最大名称长度(不包括可能的数组索引)可能通过COOKIE进行注册:

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

更新

也许这一个了,URL或通过POST请求。该设置也是变量原点特定配置指令的上限。

+0

在远程机器上,它被设置为800的值..应该不够吗? – runFatTony 2013-03-28 09:38:45

+0

suhosin有很多不同的标志。如果你传递的是数组而不是直接变量,那么对这些变量也有限制......这里有一个很好的参考:http://www.hardened-php.net/suhosin/configuration.html – 2013-03-28 09:44:22

+0

这个设置为256服务器配置 – runFatTony 2013-03-28 10:03:23