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

如何修复Drush 8/PHP 7.2的count()参数必须为数组警告

问题:Drush 8.1.3 在 PHP 7.2 + Ubuntu 16.04 环境下异常,已更新 pear/console_table 和 PEAR 仍未解决

我的环境配置

  • 操作系统:Ubuntu 16.04
  • 服务栈:LAMP
  • 部署应用:Drupal 7
  • Drush 版本:8.1.3(通过 Composer 1.5.2 安装)
  • PHP 版本:7.2

问题背景

我碰到了一个 Drush 相关的异常,根据 GitHub 上的讨论内容,我猜测这个问题是PHP 7.2 的 bug导致的。

已尝试的修复操作

我已经做了以下两步,但问题还是没解决:

  • 把 pear/console_table 更新到了最新版本
  • 按照 Super User 的相关说明,确保 PEAR 本身也升到了最新版

求助

有没有其他可行的排查方向或者修复方案?


我的解答

针对你遇到的这个问题,我整理了几个额外的排查和修复建议,你可以试试:

  1. 验证 PHP 版本兼容性
    Drush 8.x 虽然官方标注支持 PHP 7.2,但实际使用中确实存在一些边缘场景的兼容性问题。你可以临时切换到 PHP 7.1 测试下,看看问题是否消失,这样能确认是不是 PHP 7.2 的锅。切换命令可以用:
sudo update-alternatives --set php /usr/bin/php7.1
  1. 清理 Composer 缓存后重装 Drush
    有时候 Composer 缓存的旧依赖文件会导致安装不完整,你可以清理缓存后重新安装:
composer clear-cache
composer require drush/drush:8.1.3
  1. 获取详细错误日志
    运行 Drush 命令时加上 -v 参数,能输出更详细的错误信息,帮你定位具体是哪个环节出问题:
drush -v status
  1. 手动替换 Console_Table 文件
    如果确定是 pear/console_table 的问题,你可以手动下载最新版的 Console_Table 类文件,替换掉 Drush 依赖里的对应文件,一般路径是 vendor/pear/console_table/Console/Table.php。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:12:48