温馨提示×

linux php配置不生效咋办

小樊
44
2026-10-21 14:12:12
栏目: 编程语言

Linux 下 PHP 配置不生效,通常是改错文件 / 没重启 / 多版本冲突这类原因。可以按下面一步步排查:


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

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

php --ini

或(Web 环境)

phpinfo();

看 Loaded Configuration File 那一行。

✅ 一定要改这个文件,不是随便一个 php.ini


二、确认 PHP 运行方式(非常重要)

Apache + mod_php

sudo systemctl restart apache2
# 或
sudo systemctl restart httpd

Nginx + PHP-FPM

sudo systemctl restart php-fpm
# 或
sudo systemctl restart php7.4-fpm

⚠️ 只改 php.ini 不重启 PHP 是不会生效的


三、检查是否有“多处覆盖配置”

1️⃣ 扫描所有 php.ini

php --ini
find / -name php.ini 2>/dev/null

2️⃣ 检查 FPM pool 配置(很常见)

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

里面可能有:

php_admin_value[disable_functions] = ...

✅ 这里会覆盖 php.ini


四、确认 CLI 和 Web 不是同一套配置

  • php 命令 → CLI
  • phpinfo() → Web

它们可能:

  • 不同 php.ini
  • 不同 PHP 版本

五、常见“看起来没生效”的坑

❌ 改了但没清缓存

# OPcache
service php-fpm restart

❌ 配置写错位置

; 错误
upload_max_filesize = 100M   # 少了分号没问题,但有些环境需要重启

❌ 被 .user.ini 覆盖(LNMP 常见)

ls -la | grep user.ini
upload_max_filesize=20M

六、快速自检清单 ✅

  • [ ] php --ini 确认路径
  • [ ] 修改的是 Loaded Configuration File
  • [ ] 重启了 Apache / Nginx / PHP-FPM
  • [ ] 没有 FPM / .user.ini 覆盖
  • [ ] CLI 和 Web 不是混着看

七、如果你愿意,我可以精准帮你

请告诉我:

  1. Linux 发行版(CentOS / Ubuntu?)
  2. PHP 版本
  3. Web 服务(Apache / Nginx?)
  4. 不生效的具体配置(如:memory_limit、upload_max_filesize)

我可以直接给你对应命令。

0 踩