Почему я не могу запустить vendor/bin/drush (нет разрешения на выполнение файла)

У меня есть докер и установка DDEV, работающая на машине linux/amd64.

Пока все команды работают как положено, 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 Я читал о экспериментальные функции, но не могу их отключить.

Благодаря этой статье я создал демон.json в /etc/docker

{
  "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

Код выхода 126, вероятно, означает, что /var/www/html/vendor/bin/drush не является исполняемым. Пожалуйста, проверьте внутри контейнера и убедитесь, что это так. ls -l /var/www/html/vendor/bin/drush. Тогда смотрите на принимающей стороне. Он там исполняемый? ls -l vendor/bin/drush. Если нет, возможно, что-то случилось с вашими файлами репо.

rfay 02.05.2022 20:36

Какое правильное разрешение? внутри контейнера 666/rw-rw-rw и 644/-rw-r--r-- на хосте. Я могу запустить ddev drush cr только в том случае, если для исполняемого файла установлено значение chmod 777 vendor/bin/drush

Joehoe 02.05.2022 22:17

Обычное разрешение — 755. Оно должно быть исполняемым. 777 тоже подойдет. chmod 777 vendor/bin/drush в порядке, chmod +x vendor/bin/drush тоже

rfay 02.05.2022 22:45

Кажется, вы каким-то образом удалили исполняемый бит из vendor/bin/drush... но если вы сделали это из-за проблемы с git или чего-то еще, у вас, вероятно, возникнут проблемы и с другими вещами, так что будьте осторожны.

rfay 02.05.2022 22:46

Я запомню это. Может действительно проблемы с кишечником. Спасибо за помощь.

Joehoe 02.05.2022 22:56
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
0
5
32
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Причина вашей проблемы в том, что поставщик / bin / drush каким-то образом удалил свой исполняемый бит (очевидно, на стороне хоста), поэтому, когда ddev drush пытается его выполнить, он терпит неудачу... потому что он не является исполняемым.

Сообщение об ошибке пыталось объяснить это: «/var/www/html/vendor/bin/drush: Отказано в доступе. Не удалось запустить drush: статус выхода 126», а код выхода 126 относится к статусу исполняемого файла.

Исправление chmod +x vendor/bin/drush

Другие вопросы по теме