我需要更改 PHP max_input_vars 变量,但在更改 php.ini 并重新启动服务器后,phpinfo 始终显示旧值。这就是我所做的:
在 phpinfo() 我有
...
Loaded Configuration File /etc/php.ini
...
max_input_vars 1000
Run Code Online (Sandbox Code Playgroud)
从服务器 CL 我编辑了 /etc/php.ini 并取消了 max_input_vars 行的注释,它看起来像这样:
...
max_input_vars = 5000
...
Run Code Online (Sandbox Code Playgroud)
更改后并重新启动网络服务器
systemctl restart httpd
Run Code Online (Sandbox Code Playgroud)
phpinfo 仍然显示 max_input_vars 为 1000 看起来 php 使用其他一些 php.ini 或值被覆盖,因为与 max_execution_time 等其他设置是相同的。
如果我做错了?phpinfo 显示的配置文件是否可能与使用的配置文件不同?
phpinfo 输出:
当您使用PHP-FPM时,您需要检查它的覆盖配置,通常在/etc/php-fpm/*.conf.
php_admin_value[max_input_vars] = XXX
Run Code Online (Sandbox Code Playgroud)
验证没有影响您的设置的覆盖后,重新启动 php-fpm 服务,并且作为最佳实践也是 Apache。
systemctl restart php-fpm httpd
Run Code Online (Sandbox Code Playgroud)
需要重新启动 PHP-FPM 服务,因为 Apache 会将请求传递到从 PHP-FPM 服务加载到内存中的正在运行的 PHP 实例。由于 PHP 已由 PHP-FPM 加载到内存中,因此需要重新启动 PHP-FPM 服务才能应用 PHP 配置更改。
PHP-FPM 之前的 Apache 通常依赖于使用 Apache 启动 PHP 进程mod_php,因此需要重新启动 Apache 服务才能立即应用配置更改,或者直到mod_php重新加载 PHP 实例为止。
根据您的配置,您应该添加额外的 PHP 配置设置而/etc/php.d/zzz-custom.ini不是/etc/php.ini. PHP 将按字母顺序加载配置文件,导致zzz-custom.ini文件最后加载并用作 PHP 设置的最终值。
使用该/etc/php.d/zzz-custom.ini文件还可以防止丢失自定义 php.ini 设置以及在更新 PHP 版本时需要对默认/etc/php.ini文件进行大量更改。
但是,/etc/php-fpm/*.conf设置将优先于任何/etc/php.d/*.ini配置。
| 归档时间: |
|
| 查看次数: |
1967 次 |
| 最近记录: |