我正在运行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');
擦掉。默认情况下,它将被设置为适当的标头。