Запуск git pull из php-скрипта

Я старалась идеальный рабочий процесс, с Git, GitHub и SSH и у меня все готово, кроме выполнения команды git pull из php.

когда я запускаю exec('git pull') Я:

не удалось создать каталог '/.шшш. Ошибка проверки ключа хоста. фатальная ошибка: удаленный конец повесил трубку неожиданно

если я запускаю его в терминале (как root), он работает нормально, но мне нужен этот крюк для работы с URL-адресом после получения (Github).

если я делаю exec('whoami') Я apache.

это (dv) от mediatemple с CentOS.

1 ответов


Если вы хотите apache (пользователь) чтобы иметь возможность вытащить из git, вам нужно будет создать ssh-ключ для apache, а затем добавить его к ключам только для чтения на github.

поток что-то вроде этого (настроить для ваших нужд)

usermod -s /bin/bash apache
su apache
cd ~
ssh-keygen # work through the keygen dance (added a dash)

загрузить (Тильда здесь относится к homedir apache)~/.ssh/id_rsa.pub в github и предоставить apache доступ к любым репозиториям, из которых он должен вытащить.

затем вы можете проверить на сервере снова Су ' ing для apache и запуск git pull

su apache
cd ~/working-copy
git clone my-project

как только это сработает, вы сможете запустить git pull через PHP.