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

求助:MediaWiki安装无法加载,提示“call to undefined function shell_exec”

解决MediaWiki中shell_exec未定义的致命错误

问题分析

你遇到的shell_exec()未定义错误,大概率是PHP配置中该函数被禁用了——因为你没有修改站点代码,所以几乎可以确定是服务器环境发生了变更(比如主机商更新PHP配置、升级PHP版本、启用安全策略等)。shell_exec是PHP用于执行系统shell命令的函数,MediaWiki的部分核心功能或扩展会依赖它(比如图片处理、备份工具等)。

解决方案

  • 检查PHP禁用函数列表

    1. 在站点根目录创建一个临时文件info.php,内容如下:
      <?php phpinfo(); ?>
      
    2. 通过浏览器访问这个文件,找到disable_functions配置项,查看其中是否包含shell_exec。
    3. 如果确实存在:
      • 若你有权限修改服务器的php.ini文件,将shell_exec从disable_functions的列表中移除,然后重启PHP服务(比如PHP-FPM、Apache或Nginx)。
      • 若无权限修改配置,直接联系主机服务商,请求移除对shell_exec的禁用。
  • 替代方案(无法启用shell_exec时)

    1. 排查MediaWiki中依赖shell_exec的功能:比如ImageMagick图片处理、某些第三方扩展。
    2. 禁用相关扩展:在LocalSettings.php中找到对应扩展的启用代码(比如wfLoadExtension('XXX');),注释掉后尝试重新加载站点。
    3. 替换依赖功能:比如改用PHP内置的GD库处理图片,替代需要shell调用的ImageMagick。
  • 确认环境变更
    联系主机服务商或检查服务器系统日志,确认近期是否有PHP版本升级、安全补丁推送、配置调整等操作,这些都可能导致disable_functions列表被修改。

注意事项

  • 启用shell_exec会带来一定安全风险,仅在MediaWiki确实需要时开启,同时确保服务器的系统权限配置安全,避免恶意命令执行。
  • 修改PHP配置后必须重启相关服务,否则配置不会生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 00:30:54