1

我正在使用 prestashop,我需要更改 max_input_vars,以便从 Translation 部分应用翻译更改。

由于我的托管服务提供商政策,我无法在 .htaccess 中使用 php_value,因此我需要使用 php.ini 文件。我已将其创建到 prestashop 管理文件夹中,内容如下:

最大输入变量 = 3000

但是当我更新翻译时,我得到了 max_input_vars 的错误,所以它没有被 php.ini 更改。我也试过没有空格,尾随“;” 并且没有效果。

为了检查它,我创建了一个只有 phpinfo() 的文件,它告诉我它设置为 1000(默认值)。我认为在 phpinfo 调用上方使用 ini_set 会更改其值(仅针对该脚本),但实际上,它不会更改任何内容。所以,我提出:

ini_set("max_input_vars","3000");
phpinfo();

我为 max_input_vars 得到的值为 1000。

关于如何更改值或为什么它不起作用的任何想法?

4

2 回答 2

4

此配置设置不能在运行时从代码中设置。如果您查看配置设置列表,您将看到其“可更改”值为PHP_INI_PERDIR. 本页解释了这意味着什么。

ini_set只能影响标记为可更改的设置PHP_INI_USER

对此的合理解释是,该设置会在您的代码有机会运行之前影响 PHP 的行为。

于 2012-11-27T13:01:52.663 回答
2

当 PHP 尝试解析发送到脚本的数据时,该设置适用。这发生您的脚本甚至执行之前。因此,您根本无法在运行时设置它,因为该设置会影响运行前的某些内容。

于 2012-11-27T13:02:45.707 回答