改了php.ini仍不生效,核心是改错文件或未重启PHP-FPM:必须用phpinfo()确认网站实际加载的php.ini路径,改后在小皮面板中重启PHP(非仅Nginx),并检查php-fpm.ini或www.conf中php_admin_value是否覆盖配置。

改了 php.ini 但重启后仍不生效,核心问题往往不是“没重启”,而是改错了文件、没重载对的服务,或者被更高优先级的配置覆盖了。关键得一层层确认实际生效的是哪一份配置。
先确认网站到底读的是哪个 php.ini
别凭印象或路径猜——直接看事实:
- 在网站根目录新建一个 info.php,内容只写
<?php phpinfo(); ?> - 用浏览器访问它,在页面顶部找 “Loaded Configuration File” 这一行,后面显示的路径才是网站真正加载的 php.ini
- 如果你之前改的是别的路径(比如 CLI 版本的、Apache 模块的、或者 php-fpm.d 里的),那修改就完全没作用
改完必须重启 PHP-FPM,不是只重启 Nginx
小皮默认用 Nginx + PHP-FPM,PHP 配置由 PHP-FPM 进程加载。只点「重启 Nginx」或「重载配置」是不够的:
- 在小皮面板中,进入【PHP】→ 找到你当前用的版本 → 点击【重启】(不是「重载」)
- 或者点击右上角【重启】按钮 → 选择「重启 PHP」或「重启 Nginx + PHP-FPM」
- 重启后务必再访问一次 info.php,核对「Loaded Configuration File」路径没变,且你改的参数(如 upload_max_filesize)在「Local Value」列已更新
检查有没有被更高优先级的配置覆盖
PHP-FPM 的 www.conf 或 php-fpm.ini 中可以用 php_admin_value 强制设定参数,这类设置会直接覆盖 php.ini 里的同名项:
立即学习“PHP免费学习笔记(深入)”;
- 打开你当前 PHP 版本目录下的 www.conf(通常在
etc/或同级目录) - 搜索
php_admin_value[upload_max_filesize]、php_admin_value[post_max_size]等 - 如果存在,要么删掉这行,要么把它改成和 php.ini 一致的值
- 改完同样要重启 PHP-FPM
留意扩展路径和模块是否真加载成功
有些配置看似改了,但因为 extension_dir 错误或扩展没启用,导致功能间接失效:
- 在 info.php 页面搜索 extension_dir,确认路径是否指向正确的 ext 文件夹(比如
ext是相对路径,在 FPM 下容易失效,建议写成绝对路径如D:/phpstudy_pro/Extensions/php/php8.3nts/ext) - 搜索你要用的扩展名(如
mbstring、pdo_mysql),看「enabled」是否显示为 Yes - 如果没启用,在 php.ini 里取消对应
extension=xxx行前的分号,保存并重启 PHP



















