我需要提高 php 中的 max_input_vars 值以进行 Moodle 安装。 但是,当我更改 php.ini 文件中的值时,moodle Web 安装程序仍然提示:
PHP setting max_input_vars must be at least 5000.
phpinfo() 显示:
max_input_vars => 5000 => 5000
编辑 .htaccess 文件也没有效果。
使用以下内容在 Moodle 目录中创建一个临时 php 文件并通过浏览器运行它(通过命令行运行 php 使用不同的 php ini 文件而不是 apache 文件)
<?php
phpinfo();
这将确认正在使用哪个 php ini 文件,例如
/etc/php/xx/apache2/php.ini
还可以在页面中搜索
max_input_vars
以查看该值是什么。
Master 是
php.ini
中的值 - 如果它不是 5000 则说明编辑了错误的 php ini 文件,或者需要重新启动 apache
Local 是正在使用的值 - 如果它与主值不同,那么它被 apache 覆盖了
在这种情况下,请检查 .htaccess 和 apache 目录中的 conf 文件,例如
etc/apache2/
如果本地值是正确的 - 5000 - 那么它已被 Moodle 目录中某处的代码更改。也许检查
config.php
或搜索代码 max_input_vars
我在 Fedora 上的 Moodle 安装程序中遇到了同样的错误。将
/etc/php.ini
更改为 后
max_input_vars = 5000
即使在 max_input_vars
更改后,错误也不会消失。看来重新启动 Web 服务器(在我的例子中是 apache)是不够的
sudo systemctl restart httpd
还需要
sudo systemctl restart php-fpm.service