You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cpanel已开启json、mbstring扩展仍提示缺失该如何解决

cPanel环境PHP扩展已启用仍报缺失问题解决方案

你遇到的报错内容如下:

ERROR: The requested PHP extension json is missing from your system.
ERROR: The requested PHP extension mbstring is missing from your system.

可按以下步骤逐一排查解决:

1. 排查Web端与CLI端PHP版本不一致问题

cPanel默认支持多PHP版本共存,你在面板中配置的扩展可能仅对Web访问生效,命令行运行脚本时调用的是其他版本PHP:

  • 新建phpinfo.php文件到网站根目录,写入代码<?php phpinfo(); ?>,通过浏览器访问该文件,搜索json、mbstring确认扩展实际启用状态,同时记录当前Web端使用的PHP版本号与php.ini配置路径。
  • 若脚本通过SSH命令行运行,执行php -v查看CLI端默认PHP版本,与Web端版本对比:
    • 若版本不一致,直接指定对应版本运行脚本即可,命令格式为/usr/local/bin/ea-phpXX /path/to/your/script.php,其中XX替换为Web端的PHP版本号,例如PHP7.4对应ea-php74、PHP8.2对应ea-php82。

2. 核对站点绑定的PHP版本

  • 登录cPanel后台,进入「软件」板块的「选择PHP版本」,确认当前你启用json、mbstring扩展的PHP版本,与站点绑定的版本一致。
  • 进入「多PHP管理器」,勾选你部署脚本的站点,确认分配的PHP版本为你已配置扩展的版本,若不匹配统一切换到目标版本即可。

3. 排查自定义配置覆盖问题

  • 检查站点根目录下是否存在.user.ini或者自定义php.ini文件,排查是否存在disable_extension = json、disable_extension = mbstring这类禁用配置,或扩展加载路径配置错误的问题。
  • 部分托管商存在全局PHP扩展禁用规则,即使cPanel面板勾选启用也不生效,可提交技术工单要求服务商确认对应PHP版本的两个扩展已编译安装且未被全局禁用。

4. 排查脚本校验逻辑错误

部分老旧PHP脚本的扩展校验逻辑存在bug,会错误判断扩展状态:

  • 在脚本入口处添加如下测试代码:
var_dump(extension_loaded('json'));
var_dump(extension_loaded('mbstring'));
  • 运行后如果返回bool(true)说明扩展实际已启用,直接注释掉脚本中原有的扩展校验代码即可正常运行。

内容的提问来源于stack exchange,提问作者Aman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 20:15:07