PHP 8.2 升级到 8.3 关键在兼容性验证与配置衔接:需确认 NTS/TS 版本匹配 Web 服务器(Nginx 选 NTS)、检查 php.ini 中 extension_dir、date.timezone、opcache.enable 等配置是否正确继承,手动启用 mbstring/pdo_mysql 等必需扩展,并通过 phpinfo() 和 php -v 双环境验证版本与配置一致性。

直接升级 PHP 8.2 到 8.3 不是简单点一下“切换版本”就完事的,关键在兼容性验证和配置衔接。PHP 8.3 引入了更严格的类型检查、废弃部分旧函数(如 mysql_connect 已彻底移除)、并调整了 JSON 和错误处理行为,很多老项目会直接报错或白屏。
确认当前环境与目标版本匹配
小皮面板中 PHP 版本分 NTS(非线程安全)和 TS(线程安全),必须和你用的 Web 服务器一致:
- 如果你站点用的是 Nginx(小皮默认推荐),选 NTS 版本 —— PHP 8.3.36 nts 是当前修复高危漏洞(PHP2SHELL)的推荐版本
- 如果误选 TS 版本配 Nginx,站点会启动失败,Nginx 日志里常出现
connect() to unix:/tmp/php-cgi.sock failed类错误 - 小皮面板里可在【设置】→【文件位置】→【PHP】查看已安装版本目录名,确认后缀是否为
nts或ts
检查扩展与配置是否延续
PHP 8.3 默认禁用了一些旧扩展,且 php.ini 文件不会自动继承 8.2 的修改:
修复 Core bailout 状态损坏安全问题,以及 BZ2、DOM、PDO、Opcache/JIT 内存与执行错误,改进 Unicode 字素处理、URL 解析、TLS 流状态、信号分发及会话错误处理。
- 进入小皮【软件管理】→【PHP版本】,点击刚安装的 8.3.x 右侧【设置】,打开其
php.ini;对比 8.2 的配置,重点检查:extension_dir路径是否指向正确的 8.3 扩展目录(如ext子文件夹)、date.timezone是否设置、opcache.enable是否开启 - 常见断点:Laravel 项目依赖
mbstring、xml、curl、pdo_mysql,需手动确认这些扩展在 8.3 的php.ini中已取消注释 - MetInfo V8.1、WordPress 插件等 CMS 系统,建议同步升级到官方声明兼容 PHP 8.3 的版本(如 MetInfo V8.1 已适配 8.3.36)
升级后必须做的三件事
切换完版本不是终点,而是验证起点:
- 重启对应站点的 Web 服务(Nginx 或 Apache),不是只重启 PHP-FPM
- 在站点根目录放一个
info.php,内容为,访问确认显示的是 PHP 8.3.x,且“Loaded Configuration File”路径指向你刚编辑的 8.3 配置文件 - 运行
php -v和php --ini(通过小皮终端或 CMD 进入 PHP 8.3 目录执行),核对 CLI 模式下版本和配置是否一致,避免 Web 和命令行环境不统一导致 Composer 或 Artisan 报错
不复杂但容易忽略。重点不在“怎么装”,而在“装完是否真跑得通”。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










