为什么我不能执行vendor/bin/drush(文件没有执行权限)

Why can't I execute vendor/bin/drush (no execute permission on the file)

我在 linux/amd64 机器上安装了 docker 和 DDEV 设置 运行。

虽然所有命令都按预期工作,但 ddev drush ... 没有。

给出这个错误:

/mnt/ddev_config/.global_commands/web/drush: line 14: /var/www/html/vendor/bin/drush: Permission denied Failed to run drush : exit status 126 我已经阅读了有关 的信息,但无法解除它们。

由于这篇文章,我在 /etc/docker

中创建了一个 daemon.json
{
  "experimental": false
}

但没有解决我的问题

信息:

// docker version
Client:
 Version:           20.10.14+dfsg1
 API version:       1.41
 Go version:        go1.18
 Git commit:        a224086
 Built:             Wed Mar 30 16:07:00 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

你的问题的原因是 vendor/bin/drush 以某种方式删除了它的可执行位(显然是在主机端),所以当 ddev drush 试图执行它时,它失败了......因为不可执行。

错误消息试图对此进行解释:“/var/www/html/vendor/bin/drush:权限被拒绝 运行 drush 失败:退出状态 126”和退出代码126是关于可执行状态。

修正是chmod +x vendor/bin/drush