我在管理员后端开发了一个带有级联选项插件的opencart解决方案。因此,在保存表单时,具有大量选项组合的产品会创建大型$ _POST数组。
据我所知,这个数组(这个产品只有1000多个密钥长)被截断在1000左右(符合默认值max_input_vars)。
我在php 5.3.29上应该允许我更改max_input vars ini设置。我已经添加到本地php.ini并尝试了服务器php.ini。我的phpinfo()表示max_input_vars:3000,但是数组仍然在同一点截断。
我猜测它不是post_max_size错误,因为将虚拟文本添加到较小的关键帖子变量中不会在不同点截断,但我不确定是否有任何其他ini变量可能会影响这一点。
我还检查了Charles调试器,完整的帖子阵列肯定会被发布。
有什么建议吗?
答案 0 :(得分:1)
我有同样的问题,我通过在这个php.ini中设置max_input_vars值来修复它: 的 /etc/php5/apache2/php.ini 强>
即使php_info()报告使用了不同的php.ini(/etc/php5/cli/php.ini)。顺便说一句,在我偶然发现解决方案之前,我还尝试在.htaccess中设置值(在网页根目录中),但没有效果。
这看起来像PHP 5.5中可能存在的错误。在任何情况下,我建议在你的服务器上找到所有的php.ini文件("找到php.ini")并在所有这些文件中设置max_input_vars(或者第一个有效的文件,呃)。不要忘记重启Apache,这样才能生效(sudo /etc/init.d/apache2 restart)
BTW,我的PHP版本是5.5.9-1ubuntu4.5,安装在Ubuntu 14.04上。