В моем проекте 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






Вам нужно будет найти сообщение об ошибке. Если вы используете 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
Дополнительный вопрос: почему вы храните двоичные файлы в git?