PHP 7.4无法原地升级到8.0,必须安装8.0后切换站点绑定;需手动勾选pdo_mysql、fileinfo、opcache等关键扩展,切换后检查php.ini、.user.ini及错误日志,代码中须替换each()、mysql_*等已移除函数。

PHP 7.4 不能“原地升级”到 PHP 8.0,宝塔、Ubuntu、cPanel 等主流环境均采用多版本共存机制——PHP 7.4 和 8.0 是两个完全独立的安装实例。所谓“升级”,实质是:安装 PHP 8.0 → 配置扩展与参数 → 切换站点绑定 → 验证兼容性 →(可选)卸载旧版。
宝塔面板中操作流程(最常见场景)
- 进入「软件商店」→ 搜索「PHP」→ 找到「PHP 8.0」→ 点击「安装」
- 安装时必须手动勾选关键扩展:
-
pdo_mysql(数据库必需) -
fileinfo(文件上传、Laravel/WordPress 依赖) -
opcache(性能关键,不启用可能导致加载慢数秒) -
redis(若项目用 Redis 缓存或 Session) -
mbstring、curl、openssl(基础运行三件套)
-
- 安装完成后,逐个进入「网站」→「设置」→「PHP版本」→ 下拉选择「PHP 8.0」
- 切换后若出现 500 或白屏,优先检查:
-
/www/server/php/80/etc/php.ini中upload_max_filesize是否仍为默认2M(需按项目需求调大) - 根目录
.user.ini文件是否锁定了旧值(如 Discuz、ThinkPHP 3.x 常见),需手动编辑或删除 - 错误日志:
tail -f /www/wwwlogs/your-site.error.log,重点关注:-
Undefined array key "xxx"(PHP 8.0 严格模式报错) -
mysql_connect() is deprecated或Call to undefined function mysql_query()(说明代码调用了 PHP 8.0 已彻底移除的mysql_*函数)
-
-
Ubuntu 系统命令行升级(Apache/Nginx)
- 添加官方 PHP 仓库:
sudo apt install software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt update
- 安装 PHP 8.0 及常用扩展:
sudo apt install php8.0 php8.0-fpm php8.0-mysql php8.0-curl php8.0-gd php8.0-mbstring php8.0-xml php8.0-zip php8.0-opcache
- Apache 用户:禁用旧模块,启用新版
sudo a2dismod php7.4 sudo a2enmod php8.0 sudo systemctl restart apache2
- Nginx 用户:修改站点配置中的
fastcgi_passfastcgi_pass unix:/run/php/php8.0-fpm.sock;
然后重启:
sudo systemctl restart nginx php8.0-fpm
兼容性避坑要点(代码层必查)
PHP 8.0 移除了大量函数和语法,常见崩溃点:
-
each()→ 改用foreach ($arr as $k => $v) -
create_function()→ 改用匿名函数fn($a) => $a * 2或function() { } -
mysql_*全系列函数(如mysql_connect)→ 已彻底删除,必须改用mysqli或PDO -
$row['name']{0}(花括号字符串下标)→ 改用$row['name'][0] -
array_key_exists($key, null)→ PHP 8.0 报TypeError,需提前判断是否为数组
建议上线前用工具扫描:
立即学习“PHP免费学习笔记(深入)”;
phpcs --standard=PHPCompatibility --runtime-set testVersion 8.0 ./your-project/
卸载 PHP 7.4 前务必确认
- 所有网站在「网站」列表中均已绑定到 PHP 8.0 或其他有效版本
- 计划任务(如 crontab)中未硬编码
/usr/bin/php或/www/server/php/74/bin/php,应改为/www/server/php/80/bin/php - 无遗留脚本(如 shell、CI/CD 构建步骤)仍依赖 PHP 7.4 的扩展或路径
旧版本删掉容易,恢复却要重装+重配扩展+重调参数,切勿盲目清理。



















