接收“输入变量超过1000”;即使在更新max_input_vars后也会出现错误


Receiving "Input Variables Exceeded 1000" error even after updating max_input_vars

我正在运行Magento,并且我正在接收"mod_fcgid: stderr: PHP警告:未知:输入变量超过1000。更改php.ini中的max_input_vars以增加限制。当试图在数据库中保存5000多个产品的相关产品时,在line 0上出现未知

大多数人建议尝试通过更新max_input_vars到更高的值来修复这个问题。我将max_input_vars = 100000添加到php.ini中,并将php_value max_input_vars 100000添加到.htaccess中。

php.ini正在更新,当我运行php -i | grep max_input_vars它输出max_input_vars => 100000 => 100000

我也尝试过更小的数字,如5000,6000(以防由于某种原因100000太高)

我记得重新启动apache2,所以这不是问题。

无论我做什么,我仍然收到"mod_fcgid: stderr: PHP警告:未知:输入变量超过1000。更改php.ini中的max_input_vars以增加限制。

任何想法?

创建一个pi.php文件,代码如下:

<?php phpinfo();

,并将其保存在与Magento相同的文件夹中,然后通过浏览器访问。

max_input_vars(本地列)将显示的值是您的运行时值。如果它与php.ini中的设置不同,则可能更改了错误的INI文件。

Mod_FCGID可以使用与"经典"/etc/php.ini不同的文件,或者在/etc/php.ini中的任何文件中进行设置D/-例如-可以覆盖"全局文件"中的那些。

phpinfo()显示已解析INI文件的列表,因此您可以查看要修改的文件。

记住一旦你修复了这个问题就删除这个文件:它很可能是一个安全威胁,因为你显示了很多可能对黑客有用的细节。

问题是由Ajax XMLHttpRequest()函数引起的。

您正在尝试通过http .send(FormData)使用错误的头发送FormData信息。

在ajax函数中删除. setrequestheader的任何行。如

XHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 

擦掉。默认情况下,它将被设置为适当的标头。