Запуск команд php Doctrine через скрипт bash

В настоящее время я разрабатываю приложение 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

Но я все равно получаю ту же ошибку, за исключением части корзины.

Когда я запускаю команды в сценарии через командную строку, у меня нет проблем. Есть идеи, почему этот сценарий не работает?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
541
3

Ответы 3

Поскольку сценарий находится внутри папки 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

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