在 Linux 下,PHP 配置生效主要取决于你修改的是哪一类配置文件,以及 PHP 是以什么方式运行的(CLI / FPM / Apache 模块)。下面按常见情况说明。
先确认配置文件路径:
php --ini
常见路径:
/etc/php/7.x/cli/php.ini/etc/php/7.x/fpm/php.ini/etc/php/7.x/apache2/php.ini修改:
/etc/php/7.x/cli/php.ini
立即生效(下次执行命令即生效):
php -i | grep "配置文件"
修改:
/etc/php/7.x/fpm/php.ini
必须重启 PHP-FPM 才生效:
# 查看版本
php-fpm -v
# 重启(按系统)
systemctl restart php7.4-fpm
# 或
service php-fpm restart
验证:
php-fpm -i | grep "配置文件"
修改:
/etc/php/7.x/apache2/php.ini
重启 Apache 生效:
systemctl restart apache2
# 或
service httpd restart
phpinfo() 或 php --ini 确认优先级(从高到低):
ini_set().user.ini(FPM)php.iniupload_max_filesize = 20M
放在网站根目录,无需重启,但:
user_ini.cache_ttl 延迟(默认 300 秒)创建 phpinfo.php:
<?php phpinfo();
访问后搜索配置项。
php -i | grep upload_max_filesize
upload_max_filesize = 50M
post_max_size = 50M
memory_limit = 256M
max_execution_time = 300
修改后:
如果你能告诉我:
我可以给你精确命令。