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

XAMPP 8.0.13安装php trader执行pear命令报each()未定义错误如何解决

问题原因

PHP 8.0 版本正式移除了早在PHP 7.2就被标记为废弃的each()函数,XAMPP 8.0.13内置的PEAR Console_Getopt组件版本过旧,未完成PHP 8兼容性适配,因此代码中仍保留了对each()的调用。之前遇到的花括号数组/字符串偏移量访问报错,也是旧版PEAR代码和高版本PHP不兼容导致的同类问题。

可行解决方法
  • 手动修复Getopt.php兼容问题
    打开文件C:\xampp\php\pear\Console\Getopt.php,定位到第135行附近的each($args)调用,该处典型旧代码为:
    while (list($i, $arg) = each($args)) {
    
    直接替换为PHP 8兼容的遍历写法即可,无需修改循环内其他逻辑:
    foreach ($args as $i => $arg) {
    
    修改保存后重新执行PEAR命令即可正常运行。
  • 全量升级PEAR到兼容版本
    完成上述手动修复后,PEAR命令可正常执行,此时运行pear upgrade pear命令,将PEAR核心及所有内置组件升级到适配PHP8的最新版本,后续操作不会再触发同类兼容性报错。
  • 跳过PEAR流程手动安装trader扩展
    查找和当前XAMPP环境匹配(PHP8.0、对应线程安全/非线程安全版本、对应系统架构)的trader扩展dll文件,放入C:\xampp\php\ext目录,在php.ini配置文件中新增extension=trader配置项,重启Apache服务即可完成安装,从根源规避PEAR版本不兼容问题。

内容的提问来源于stack exchange,提问作者Henry van Vuuren

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.22 16:12:26