Сделайте Git push с PHP / Symfony

В моем проекте Symfony я бы хотел зафиксировать и немедленно отправить изображение, которое я загружаю. Пока не работает только толчок. Для остальных команд я делаю так:

exec('git add myfile');
exec('git -c user.name = "My User Name" -c user.email = "my email" commit -m "My Commit"');

Для толчка я пытаюсь сделать это:

$branch = exec("git branch | grep \* | cut -d ' ' -f2");
exec('git push https_link '.$branch);

У меня нет ошибок, нет вывода, просто мой скрипт ожидает долгое время, и мне нужно перезапустить Apache. Это простая аутентификация (я использую битбакет со своим выделенным URL-адресом на https), тогда мне не нужен пароль. Я тоже пробую использовать proc_open, но это то же самое. Я вижу библиотеку https://github.com/kbjr/Git.php, но не приезжаю, чтобы установить ее с Symfony

Дополнительный вопрос: почему вы храните двоичные файлы в git?

Jovan Perovic 03.09.2018 19:25
Стоит ли изучать 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
1
368
1

Ответы 1

Вам нужно будет найти сообщение об ошибке. Если вы используете Symfony, вы должны использовать Компонент процесса. Скорее всего будет проблема с аутентификацией в битбакете. Не забывайте, что PHP обычно работает под другим пользователем, чем вы используете, поэтому все переменные конфигурации SSH / ENV различны.

С этим будет что-то вроде

$process = new Process(array('ls', '-lsa'));
$process->run('git -c user.name = "My User Name" -c user.email = "my email" commit -m "My Commit"');
$output = $process->getOutput(); // here you should see the output - Time to find where is problem

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