Windows, как вытолкнуть GIT из PHP с помощью exec ()

Вот мой push.bat файл

echo "Hello world!"cd abhishek3/
call git add .
call git commit -m "sadf"call heroku accounts:set abhishek84
call git push heroku master

Я могу отправить в свой репозиторий запуск файла push.bat в cmd

Я хочу перейти на репо с php, попробовал следующие фрагменты, но ни один из них не помог мне.

exec("psexec -d push.bat");

Результат: PHP страница загружается бесконечно

$WshShell = new COM("WScript.Shell");
$oExec = $WshShell->Run("cmd /C abhishek3.bat, 0, false);

Результат: страница перестает загружаться через некоторое время и ничего не работает

exec("cmd.exe /c abhishek3.bat")

Результат: страница перестает загружаться через некоторое время и ничего не работает

РЕДАКТИРОВАТЬ:
Попробовал следующий фрагмент, но ничего не получилось.

exec("hstart.exe /NOCONSOLE \"cmd.exe /c \"abhishek3.bat\"\"");

Приведенный выше фрагмент кода успешно выполняется при запуске из cmd, но при запуске из php через exec () не работает. Скачать hstart (Hidden Start Binary)

3

Решение

  1. проверьте правильность разрешений для веб-пользователей (он может получить доступ к файлам и выполнить git)
  2. проверьте путь для git и любых переменных среды, которые могут ему понадобиться. Возможно, вам придется установить эти переменные среды в вашем скрипте и использовать абсолютные пути)
  3. проверьте, разрешено ли IIS или apache (в зависимости от того, что вы используете) запускать программы в целом и файлы bat (например, если это apache, вам может потребоваться настроить httpd.conf или htaccess в зависимости от вашей конфигурации)
1

Другие решения

Других решений пока нет …