长PHP表单在提交时会被截断
我有一个页面,里面有一个大表单:包含2000多个变量的表 我知道max_input_vars,并在我的php.ini中设置:长PHP表单在提交时会被截断,php,html,forms,symfony,post,Php,Html,Forms,Symfony,Post,我有一个页面,里面有一个大表单:包含2000多个变量的表 我知道max_input_vars,并在我的php.ini中设置: max_input_vars = 3000 但问题是一样的 如果我进行计数,则只返回1000个变量 当我使用 var_dump(ini_get('max_input_vars')); 结果是3000: 你知道我哪里会错吗 我用的是symfony,有什么区别吗 如果超过max\u input\u vars您将得到一个PHP警告:输入变量超过1000,因此它必须与其他内容
max_input_vars = 3000
但问题是一样的
如果我进行计数,则只返回1000个变量
当我使用
var_dump(ini_get('max_input_vars'));
结果是3000:
你知道我哪里会错吗
我用的是symfony,有什么区别吗 如果超过
max\u input\u vars
您将得到一个PHP警告:输入变量超过1000,因此它必须与其他内容相关
首先,您需要确保浏览器正在发送所有数据。您可以通过浏览器控制台进行一些调试,例如序列化表单$('#form')。serialize()并检查它或计算表单中的输入数,或发布值并检查HTTP消息;您很可能会发现浏览器出于某种原因没有发送整个表单。问题在bagonyi的帮助下得到了解决 事实上,我使用的是suhoin,我必须在php.ini中设置:
[suhosin]
suhosin.request.max_vars = 10000
suhosin.post.max_vars = 10000
这就解决了问题。最大贴子尺寸是什么?你是说贴子最大尺寸?它被设置为8MB。啊,是的,总是混合单词。如果表格是由GET提交的,这是有原因的,但你是通过POST提交的。您将这些值放入COOKIE或从COOKIE读取它们的任何位置?在不同的方法中,也许你会遇到类似的情况-
variable[]=5&variable[]=6&variable=7
?谢谢,我刚刚在Firebug NET visualizer中查看了帖子,我正在提交所有内容。最重要的是,我得到了1000个变量。php错误日志中有什么内容吗?如果您尝试使用不同的浏览器,是否也一样?最好在匿名模式下禁用所有附加组件。为了确保symfony不是导致这种行为的原因,例如,您可以编辑app_dev.php并添加die(var_dump($_POST));对于第一行,我正在检查/var/log/nginx/myproject\u error.log,没有任何内容。试过chrome和firefox,同样的问题。我在app_dev.php上添加了die,结果是相同的,表单中只有一部分的变量正好为1000。@Milos,您能将发送到服务器的数据输出放在pastebin上吗,或者类似的东西?