Простой пост-хук php на Bitbucket не работает

У меня проблема с перехватом сообщений на bitbucket. Это простой PHP-скрипт, просто подтверждение концепции:

<?php `cd /etc/puppet/environments/production/modules && git pull`;?>

В файле журнала я вижу, что Bitbucket попадает в мой хук:

131.103.20.165 - - [27/May/2015:09:15:59 -0700] "POST /githubupdate.php HTTP/1.1" 200 70 "-" "Bitbucket.org"

Но ничего не происходит. Если я пытаюсь запустить скрипт вручную как пользователь apache, он работает нормально:

sudo -u apache php /var/lib/foreman/public/githubupdate.php
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From bitbucket.org:ucd-itservices/puppet-modules
c083115..2ce4b73  production -> origin/production

Что я делаю неправильно?

Спасибо!

0

Решение

Проверьте пользователя

Пожалуйста, проверьте, действительно ли пользователь веб-сервера apache,

<?php
echo exec('whoami');
?>

Если это не так, убедитесь, что у пользователя достаточно разрешений.

SSH ключи

Доступны ли ключи SSH для Bitbucket (ключи развертывания) или вы используете только пересылку ключей через SSH?

Проверьте вывод

Пожалуйста, проверьте вывод команды:

<?php
echo nl2br(shell_exec('cd /etc/puppet/environments/production/modules && git pull');
?>

Журналы ошибок

Пожалуйста, проверьте любые журналы ошибок Apache / PHP на наличие ошибок.

0

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

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

А ты уже прошел курс программирования? Супер скидка!
Прокачать скилл $$$
×