温馨提示×

Ubuntu PHP配置如何生效

小樊
40
2026-07-01 02:16:41
栏目: 编程语言

在 Ubuntu 上,PHP 配置要生效,一般取决于你改的是哪一类配置,以及你用的是 哪个 PHP 版本哪种运行方式(CLI / FPM / Apache)。下面按常见情况说明。


一、确认 PHP 版本

先确认你正在使用的 PHP 版本:

php -v

或者查看所有已安装版本:

ls /etc/php/

示例:

/etc/php/7.4/
/etc/php/8.1/
/etc/php/8.2/

二、PHP 配置文件位置

1️⃣ CLI(命令行 PHP)

配置文件路径通常是:

/etc/php/{版本}/cli/php.ini

查看当前生效的配置:

php --ini

生效方式

# 修改后无需重启,直接生效(下次执行 php 命令时)

2️⃣ PHP-FPM(Nginx 最常用)

配置文件路径:

/etc/php/{版本}/fpm/php.ini
/etc/php/{版本}/fpm/pool.d/www.conf

必须重启 PHP-FPM 才能生效

sudo systemctl restart php{版本}-fpm

例如 PHP 8.1:

sudo systemctl restart php8.1-fpm

验证状态:

systemctl status php8.1-fpm

3️⃣ Apache + mod_php

配置文件路径:

/etc/php/{版本}/apache2/php.ini

重启 Apache

sudo systemctl restart apache2

三、确认修改已生效

方法 1:使用 phpinfo(Web 环境)

<?php
phpinfo();

访问页面,查看:

  • Loaded Configuration File
  • 对应配置项是否变化

⚠️ 一定要看 Web 访问结果,而不是 CLI


方法 2:CLI 查看

php -i | grep "upload_max_filesize"

(CLI 和 FPM 的值可能不同)


四、常见修改不生效的原因

❌ 1. 改错 php.ini

不同 SAPI 使用不同配置文件:

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

✅ 解决:

php --ini

phpinfo()

❌ 2. 忘记重启 PHP-FPM / Apache

环境 是否需重启
CLI
FPM
Apache

❌ 3. 被 pool 配置覆盖

www.conf 中可能有:

php_admin_value[upload_max_filesize] = 2M

✅ 解决:

  • 注释或合并到 php.ini
  • 重启 FPM

❌ 4. 配置写错位置

比如把 extension=mysqli 写进了 [PHP] 之外


五、快速排错流程(推荐)

# 1. 找到生效的 php.ini
php --ini
# 或浏览器 phpinfo()

# 2. 确认修改内容

# 3. 重启对应服务
sudo systemctl restart php8.1-fpm
# 或
sudo systemctl restart apache2

# 4. 验证
php -i | grep 配置项

如果你能告诉我:

  • ✅ Ubuntu 版本
  • ✅ PHP 版本
  • ✅ Web 服务器(Nginx / Apache)
  • ✅ 修改的是哪个配置(如 upload_max_filesize

我可以给你 精确到命令的一步到位方案

0