В настоящее время я разрабатываю приложение PHP с использованием Symfony и Doctrine. Моя цель на данный момент - создать сценарий bash для построения схемы моей базы данных и загрузки фикстур. Мой текущий сценарий находится в папке / bin и имеет следующее содержимое:
#!/usr/bin/env bash
php bin/console doctrine:migrations:migrate
php bin/console doctrine:fixtures:load --purge-with-truncate
Скрипт является исполняемым, и когда я пытаюсь его запустить (./create_de.sh), я получаю следующую ошибку:
Could not open input file: bin/console
Я попытался изменить сценарий следующим образом:
#!/usr/bin/env bash
php console doctrine:migrations:migrate
php console doctrine:fixtures:load --purge-with-truncate
Но я все равно получаю ту же ошибку, за исключением части корзины.
Когда я запускаю команды в сценарии через командную строку, у меня нет проблем. Есть идеи, почему этот сценарий не работает?






Поскольку сценарий находится внутри папки bin, просто измените его на:
php ./console doctrine:migrations:migrate
php ./console doctrine:fixtures:load --purge-with-truncate
Обновлено: здесь нет проблем с разрешениями, как предполагают другие комментарии, поскольку разрешения файла консоли по умолчанию -rwxr-xr-x, что означает, что каждый может его выполнить.
Вы пробовали (изнутри bin/) dos2unix create_de.sh > create_de_new.sh, затем ./create_de_new.sh?
Вы проверили свои разрешения, файл bin / console должен иметь разрешения на выполнение:
Что-то вроде:
chmod +x bin/console