必须同步调整NTS/TS类型、php.ini扩展及fastcgi_pass配置,否则易致502错误或功能异常;切换PHP版本后需确认NTS匹配、启用pdo_mysql等扩展,并核对fastcgi_pass指向正确socket路径。

要改,而且必须同步调整。
只在小皮面板里切换 PHP 版本(比如从 7.4 换成 8.3.36),只是让 PHP-FPM 进程用新版本解释脚本,Nginx 本身并不自动适配。如果新旧 PHP 版本差异大(尤其是 NTS/TS 类型不匹配、扩展缺失、或 php.ini 配置不同),就可能出现 502 Bad Gateway、空白页、或某些函数报错。
关键要看三件事:
NTS/TS 类型是否匹配
小皮用 Nginx 时,PHP 必须是 NTS 版本;若手动添加了 TS 版本,Nginx 无法与 PHP-FPM 正常通信,直接 502。php.ini 是否启用必要扩展
新 PHP 版本默认关闭很多扩展(如 pdo_mysql、openssl、mbstring)。网站连不上数据库、HTTPS 请求失败、中文乱码,往往就是这些没开。Nginx 的 fastcgi_pass 地址是否仍指向正确的 PHP-FPM socket 或端口
小皮一般用 Unix socket(如/tmp/php-cgi-83.sock),但如果你手动添加了 PHP 版本,而小皮没自动生成对应 socket,或路径写错,Nginx 就找不到后端,同样 502。
所以切换 PHP 后,建议做这几步:
立即学习“PHP免费学习笔记(深入)”;
- 确认该 PHP 版本是 NTS(Windows 下看文件夹名或 php.exe 属性)
- 打开对应版本的
php.ini,检查并开启extension=php_mysqli.dll、extension=php_pdo_mysql.dll、extension=php_openssl.dll等常用扩展 - 在小皮面板「网站」→「管理」→「配置文件」中,确认
location ~ \.php$ { ... }块里的fastcgi_pass指向的是当前 PHP 版本对应的 socket 文件(如unix:/tmp/php-cgi-83.sock),不是旧版本的 - 重启 Nginx 和对应 PHP-FPM 服务(小皮面板里点“重启”按钮,或任务管理器结束进程再启)
不复杂但容易忽略。



















