温馨提示×

linux php配置如何生效

小樊
41
2026-10-12 20:40:38
栏目: 编程语言

在 Linux 下,PHP 配置生效主要取决于你修改的是哪一类配置文件,以及 PHP 是以什么方式运行的(CLI / FPM / Apache 模块)。下面按常见情况说明。


一、PHP 配置文件位置

先确认配置文件路径:

php --ini

常见路径:

  • CLI:/etc/php/7.x/cli/php.ini
  • FPM:/etc/php/7.x/fpm/php.ini
  • Apache:/etc/php/7.x/apache2/php.ini

二、不同运行方式的生效方式

1. PHP CLI(命令行)

修改:

/etc/php/7.x/cli/php.ini

立即生效(下次执行命令即生效):

php -i | grep "配置文件"

2. PHP-FPM(Nginx 常用)

修改:

/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 "配置文件"

3. Apache + mod_php

修改:

/etc/php/7.x/apache2/php.ini

重启 Apache 生效:

systemctl restart apache2
# 或
service httpd restart

三、常见不生效原因

1. 改错 php.ini

  • 命令行和 Web 用的是不同 ini
  • 用 phpinfo() 或 php --ini 确认

2. 配置被覆盖

优先级(从高到低):

  1. 代码中 ini_set()
  2. .user.ini(FPM)
  3. php.ini
  4. 编译默认值

3. 使用了 .user.ini(FPM)

upload_max_filesize = 20M

放在网站根目录,无需重启,但:

  • 仅对 FPM 生效
  • 有 user_ini.cache_ttl 延迟(默认 300 秒)

四、快速验证是否生效

Web 环境

创建 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

修改后:

  • CLI:直接生效
  • FPM:重启 php-fpm
  • Apache:重启 apache

如果你能告诉我:

  • Linux 发行版(CentOS / Ubuntu)
  • PHP 版本
  • 运行方式(Nginx+FPM / Apache)

我可以给你精确命令。

0 踩