温馨提示×

ubuntu php配置不生效咋办

小樊
35
2026-09-10 09:43:16
栏目: 编程语言

在 Ubuntu 上 PHP 配置不生效,常见原因和排查办法如下,按出现频率从高到低给你一份“排错清单”。


一、先确认你改的是“正确的 php.ini”

1️⃣ 查看当前 PHP 实际使用的配置文件

php --ini

或(Web 环境)

phpinfo();

Loaded Configuration File 那一行。

⚠️ 常见坑:

  • 命令行 php 和 Apache / Nginx 用的不是同一个 php.ini
  • 修改了 /etc/php/7.4/cli/php.ini,但网站用的是 fpm

二、Apache 环境(mod_php)

修改位置

/etc/php/7.4/apache2/php.ini

重启 Apache

sudo systemctl restart apache2

✅ 没重启 = 配置一定不生效


三、Nginx + PHP-FPM 环境(最常见)

修改位置

/etc/php/7.4/fpm/php.ini

必须重启 php-fpm

sudo systemctl restart php7.4-fpm

如果是 Nginx:

sudo systemctl restart nginx

⚠️ 只重启 Nginx 没用,必须重启 php-fpm


四、配置被“覆盖”了(很常见)

1️⃣ 检查是否有 .user.ini

ls -la /你的网站目录/.user.ini

存在的话,里面的配置优先级更高。

查看:

cat /你的网站目录/.user.ini

2️⃣ 检查池配置(php-fpm)

/etc/php/7.4/fpm/pool.d/www.conf

例如:

php_admin_value[memory_limit] = 256M

这个会覆盖 php.ini


五、配置写错位置或语法错误

常见错误

❌ 写成:

upload_max_filesize = 100m

✅ 正确:

upload_max_filesize = 100M

修改后检查语法:

php -l /etc/php/7.4/fpm/php.ini

六、确认配置真的改了

php -i | grep upload_max_filesize

或 Web 里:

<?php phpinfo(); ?>

七、Still 不生效?用“终极排查法”

  1. 临时测试:
display_errors = On
error_reporting = E_ALL
  1. 改完一定重启
  2. 确认 CLI / FPM 不是两套环境

八、常见场景速查表

场景 改哪里 重启什么
命令行 php cli/php.ini 不用重启
Apache 网站 apache2/php.ini apache2
Nginx 网站 fpm/php.ini php-fpm
Docker 容器内 php.ini 容器

如果你愿意,可以告诉我:

  • Ubuntu 版本
  • PHP 版本
  • Apache 还是 Nginx
  • 具体哪个配置不生效(如 memory_limitupload_max_filesize

我可以直接帮你定位到哪一行配置、哪条命令

0