
目录
1. 为什么要更改 PHP 版本?
PHP 驱动着全球超过 80% 的网站,包括 WordPress、Joomla 和 Drupal。每个 PHP 版本都有明确的生命周期终止(EOL)日期。版本到期后将不再获得安全补丁,使网站面临攻击风险。
更改 PHP 版本的主要原因:
- 安全性 — 过时的 PHP 版本存在未修补的漏洞
- 性能 — PHP 8.x 在典型工作负载下比 PHP 7.x 快 30–50%
- 兼容性 — 新插件和主题需要更高版本的 PHP
- 新功能 — PHP 8.x 引入了命名参数、Fiber 和 JIT 编译
2026年 PHP 现状:PHP 8.2 和 8.3 是新项目推荐版本。PHP 7.4 已于 2022 年底停止维护。
2. PHP 各版本比较
虚拟主机常见 PHP 版本概览:
| 版本 | 状态 | 安全支持 | 建议 |
|---|---|---|---|
| PHP 7.4 | 生命周期终止 | 已结束(2022年12月) | 不推荐——仅用于遗留系统 |
| PHP 8.0 | 生命周期终止 | 已结束(2023年11月) | 不推荐 |
| PHP 8.1 | 仅安全修复 | 2025年12月 | 可接受——适合旧版 WP |
| PHP 8.2 | 积极支持 | 2026年12月 | 推荐——稳定可靠 |
| PHP 8.3 | 积极支持 | 2027年11月 | 推荐——最新版本 |
AsiaGB 主机支持 PHP 7.4、8.0、8.1、8.2 和 8.3,可通过 DirectAdmin 即时切换版本,无需联系客服。
3. 通过 DirectAdmin 更改 PHP
DirectAdmin 提供了内置的 PHP 版本选择器,操作步骤如下:
- 登录 DirectAdmin(通常为
yourdomain.com:2222) - 进入 Advanced Features 或 Software 菜单
- 点击 PHP Version Selector 或 PHP Selector
- 选择要修改的域名(如有多个域名)
- 从下拉菜单中选择所需的 PHP 版本
- 点击 Save 或 Apply
- 稍等片刻后刷新网站
注意:PHP 版本更改立即生效,无需重启服务器。支持按域名设置不同 PHP 版本。
找不到 PHP Version Selector 的情况
如果在 DirectAdmin 中找不到该菜单,可尝试以下位置:
- Extra Features → PHP Version Manager
- Domain Setup → PHP Version(按域名设置)
- 用户级别 → 右上角菜单 → PHP
如仍找不到,请通过工单联系 AsiaGB 客服请求更改 PHP 版本。
4. 通过 .htaccess 更改 PHP
也可以通过 .htaccess 为特定目录指定 PHP 版本:
# 仅为此目录更改 PHP
AddHandler application/x-httpd-php82 .php
# 或使用 fcgi
AddHandler fcgid-script .php
FCGIWrapper /usr/local/bin/php82-cgi .php
警告:.htaccess 中 PHP 的语法可能因服务器配置不同而有所差异。如果不生效,请联系客服确认正确的处理程序。
通常建议使用 DirectAdmin PHP Selector,因为它更可靠,适用于所有服务器配置。
5. 验证当前 PHP 版本
更改 PHP 后,务必验证正确版本已生效:
方法一:phpinfo()
<?php
// 创建 info.php 文件——查看后立即删除!
phpinfo();
?>
方法二:PHP CLI
php -v
方法三:WordPress 健康检查
在 WordPress 后台 → 工具 → 站点健康 → 信息 → 服务器中,可查看当前 PHP 版本。
重要:查看后立即删除 info.php 文件。phpinfo() 输出会暴露服务器配置信息,可能被攻击者利用。
6. 必要的 PHP 扩展
WordPress 和一般 Web 应用所需的关键扩展:
| 扩展 | 用途 | WordPress 需求 |
|---|---|---|
| curl | HTTP 请求、API 调用 | 必需 |
| gd / imagick | 图像处理、缩略图 | 必需 |
| mbstring | 多字节字符串(中文、泰文) | 必需 |
| mysqli / pdo_mysql | MySQL 数据库 | 必需 |
| openssl | SSL/TLS、加密 | 必需 |
| xml / xmlreader | XML 解析、RSS | 必需 |
| zip | 压缩、插件安装 | 必需 |
| opcache | PHP 代码缓存 | 强烈推荐 |
| intl | 国际化 | 推荐 |
| sodium | 加密(WP 5.2+) | 推荐 |
在 DirectAdmin 中,可通过 PHP Selector → Extensions 管理扩展。部分主机套餐可能限制可修改的扩展范围。
7. 更改 PHP 后的故障排除
更改 PHP 版本后的常见问题及解决方法:
白屏或 500 错误
通常由插件或主题与新 PHP 版本不兼容引起:
- 暂时切换回之前的 PHP 版本
- 在 DirectAdmin → Files → Log Viewer 中查看 PHP 错误日志
- 逐一禁用插件以找出问题插件
- 升级 PHP 前,先将所有插件和主题更新到最新版本
某些函数或功能不正常
PHP 8.x 删除或更改了一些 PHP 7.x 函数的行为:
each()在 PHP 8.0 中被删除create_function()在 PHP 8.0 中被删除- 字符串到整数的隐式转换在 PHP 8.0 中行为已变更
str_contains()、str_starts_with()在 PHP 8.0 中新增(7.x 不可用)
数据库连接错误
检查新 PHP 版本是否已启用 mysqli 或 pdo_mysql 扩展,可通过 phpinfo() 或 DirectAdmin PHP Extensions 查看。
Session 或 Cookie 不工作
检查 php.ini 中的 session.save_path 以及 session 存储目录的权限。
8. WordPress 的 PHP 版本选择
WordPress 根据当前版本推荐以下 PHP 版本:
| WordPress 版本 | 推荐 PHP | 最低 PHP |
|---|---|---|
| WordPress 6.4+ | PHP 8.2 或 8.3 | PHP 7.4 |
| WordPress 6.0–6.3 | PHP 8.1 或 8.2 | PHP 7.4 |
| WordPress 5.x | PHP 8.0 或 8.1 | PHP 7.4 |
WordPress 升级 PHP 的步骤
- 备份 — 始终先备份数据库和文件
- 检查插件兼容性 — 查看插件页面了解已测试的 PHP 版本
- 更新 WordPress、插件、主题 — 先将所有组件更新到最新版本
- 在测试环境验证 — 如有测试环境,先在那里测试
- 在生产环境更改 PHP — 通过 DirectAdmin PHP Selector
- 测试网站 — 检查所有关键页面、表单和功能
提示:AsiaGB 主机提供 Softaculous 自动备份功能,可在更改 PHP 前创建备份。AsiaGB 还提供每月两次自动备份服务(每月1日和15日)。
9. 常见问题解答(FAQ)
总结
在 DirectAdmin 虚拟主机上更改 PHP 版本,只需通过 PHP Selector 几次点击即可完成。建议升级到 PHP 8.2 或 8.3,以获得更好的安全性和性能。更改前务必备份网站,更改后全面测试功能。如遇问题,AsiaGB 客服团队全天候通过工单提供支持。