升级Drupal9.5到10后Drush10.6执行drush cr命令耗时过长求助
解决Drush 10.6在PHP 8.1.6下执行
drush cr卡顿的问题 核心兼容性问题
Drush 10.6对PHP 8.1的支持并不完全兼容,官方定义的Drush 10版本PHP支持上限为PHP 8.0,PHP 8.1需要搭配Drush 11及以上版本,这是导致drush cr长时间无响应的主要原因。
排查与修复步骤
- 升级Drush版本:执行
composer require drush/drush:^11.0 --update-with-all-dependencies,将Drush升级到适配PHP 8.1的版本,这是最直接的解决方案。 - 定位卡顿环节:若暂时无法升级,可执行
drush cr -v( verbose模式)查看命令执行到哪一步卡住,通常是缓存重建时某个模块的钩子函数在PHP 8.1环境下存在兼容性问题。 - 临时禁用可疑模块:根据verbose输出的卡顿节点,临时禁用对应的自定义模块或第三方模块,再重新执行
drush cr验证是否恢复正常。 - 检查PHP扩展完整性:确认PHP 8.1.6已安装Drupal 10要求的全部扩展(如
mbstring、gd、opcache等),缺失扩展可能导致缓存重建过程异常缓慢。
补充说明
drush status仅检测基础运行环境状态,不会深度校验Drush与PHP的版本兼容性,因此即使该命令显示正常,也不代表两者完全适配。
内容的提问来源于stack exchange,提问作者Lal Kumar Rai
相关产品推荐
相关产品推荐

