Я искал в интернете несколько часов, чтобы найти хорошее решение, но все темы, которые уже выходили, мне не помогли
я пытаюсь создать веб-крючок для обновления моего сайта, выполняя git pull, который называется git hook, когда коммиты отправляются в мою живую ветку. Но это не работает, когда я пытаюсь вызвать git pull, запросив мой php-скрипт в браузере.
apache работает как www-data, все права настроены хорошо.
PHP-скрипт работает хорошо, когда я пытаюсь запустить его как пользователь данных www с su - www-data
и тогда php webHook.php
но когда я звоню в браузере, я не получаю ответа. Я думаю, Apache блокирует
это команда, которую я использую в сценарии php:
echo shell_exec('cd /home/my-site/public_html && git pull');
результат пустой, а хранилище git вообще не тянет.
но если я попробую это:
echo shell_exec('cd /home/my-site/public_html && git');
я получил этот результат
использование: git [—version] [—exec-путь [=]] [—html-путь] [—man-путь] [—info-путь] [-p | —p …. ……
так что все работает, кроме команды git pull.
репозиторий сохраняется на другом сервере с классическим хранилищем. и я сохранил пароль с git config --global credential.helper "cache --timeout=360000000"
Задача ещё не решена.
Других решений пока нет …