Bitbucket 上的简单 php post 挂钩不起作用
Simple php post hook on Bitbucket doesn't work
我在 bitbucket 上遇到 post 挂钩问题。这是一个简单的 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
我做错了什么?
谢谢!
检查用户
请检查网络服务器用户是否真的是apache
。
<?php
echo exec('whoami');
?>
如果不是,请检查用户是否有足够的权限。
SSH 密钥
Bitbucket 的 SSH 密钥(部署密钥)是否可用,或者您是否仅使用通过 SSH 的密钥转发?
检查输出
请检查命令的输出:
<?php
echo nl2br(shell_exec('cd /etc/puppet/environments/production/modules && git pull');
?>
错误日志
请检查任何 Apache/PHP 错误日志是否有任何错误。
我在 bitbucket 上遇到 post 挂钩问题。这是一个简单的 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
我做错了什么?
谢谢!
检查用户
请检查网络服务器用户是否真的是apache
。
<?php
echo exec('whoami');
?>
如果不是,请检查用户是否有足够的权限。
SSH 密钥
Bitbucket 的 SSH 密钥(部署密钥)是否可用,或者您是否仅使用通过 SSH 的密钥转发?
检查输出
请检查命令的输出:
<?php
echo nl2br(shell_exec('cd /etc/puppet/environments/production/modules && git pull');
?>
错误日志
请检查任何 Apache/PHP 错误日志是否有任何错误。