【问题标题】:Post array getting truncated, max_input_vars not working后数组被截断,max_input_vars 不起作用
【发布时间】:2015-05-12 18:59:51
【问题描述】:

我正在开发一个 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 调试器,完整的帖子数组肯定正在发布。

有什么建议吗?

【问题讨论】:

  • 不是时间限制的问题吧?您可以尝试通过 .htaccess 文件更改值吗?如果您在本地计算机上,是否重新启动了 apache 服务器?
  • 请告诉我您在哪个环境工作?

标签: php post opencart ini large-data


【解决方案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)

顺便说一句,我的 PHP 版本是 5.5.9-1ubuntu4.5,安装在 Ubuntu 14.04 上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-23
    • 2012-09-22
    相关资源
    最近更新 更多