在 Ubuntu 上,PHP 配置要生效,一般取决于你改的是哪一类配置,以及你用的是 哪个 PHP 版本 和 哪种运行方式(CLI / FPM / Apache)。下面按常见情况说明。
先确认你正在使用的 PHP 版本:
php -v
或者查看所有已安装版本:
ls /etc/php/
示例:
/etc/php/7.4/
/etc/php/8.1/
/etc/php/8.2/
配置文件路径通常是:
/etc/php/{版本}/cli/php.ini
查看当前生效的配置:
php --ini
✅ 生效方式
# 修改后无需重启,直接生效(下次执行 php 命令时)
配置文件路径:
/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
配置文件路径:
/etc/php/{版本}/apache2/php.ini
✅ 重启 Apache
sudo systemctl restart apache2
<?php
phpinfo();
访问页面,查看:
Loaded Configuration File⚠️ 一定要看 Web 访问结果,而不是 CLI
php -i | grep "upload_max_filesize"
(CLI 和 FPM 的值可能不同)
不同 SAPI 使用不同配置文件:
✅ 解决:
php --ini
或
phpinfo()
| 环境 | 是否需重启 |
|---|---|
| CLI | ❌ |
| FPM | ✅ |
| Apache | ✅ |
www.conf 中可能有:
php_admin_value[upload_max_filesize] = 2M
✅ 解决:
php.ini比如把 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 配置项
如果你能告诉我:
upload_max_filesize)我可以给你 精确到命令的一步到位方案。