首页 文章

webhook php文件从终端工作但不是从bitbucket工作

提问于
浏览
1

我正在使用bitbucket托管我的git存储库,目前repo拥有一个测试网站,我创建了一个bitbucket webhook,所以当我推送到bitbucket repo时,这些更改在digitalOcean VPS上显示为live,在其他单词..当bitbucket接收推送时,它调用webhook php文件,并且该php文件有一个从github拉出的shell脚本..

钩子文件

钩子路径:/var/www/html/hook.php

站点文件夹

网站路径:/ var / www / html / webhooks /

hook.php文件看起来像这样

<?php 
echo "________PHP_AUTO_PULL________"; 

$output = shell_exec('git -C ./webhooks/ pull https://userName:password@bitbucket.org/userName/repo.git master'); 
echo "<pre>$output</pre>"; 

?>

当我在终端这样做的时候

php hook.php

它正常工作,它拉动..

但问题是,webhooks只显示此回复

PHP_AUTO_PULL

表明它没有拉,是的我已经检查过,没有发生过拉,如何使钩子正常执行文件?

这些列表中提供了权限和所有者

列表/ var / www / html /

drwxrwxr-x 3 www-data www-data 4096 Mar 28 09:21 ./
drwxrwxr-x 3 www-data www-data 4096 Mar  3 16:49 ../
-rwxrwxrwx 1 www-data root      200 Mar 28 09:05 hook.php*
-rw-rw-r-- 1 www-data www-data   20 Mar  3 16:49 info.php
drwxr-xr-x 3 root     root     4096 Mar 28 09:03 webhooks/

列表/ var / www / html / webhooks /

drwxr-xr-x 3 root     root     4096 Mar 28 09:03 ./
drwxrwxr-x 3 www-data www-data 4096 Mar 28 09:21 ../
-rw-r--r-- 1 root     root      295 Mar 27 15:13 content.html
drwxr-xr-x 8 root     root     4096 Mar 28 09:03 .git/
-rw-r--r-- 1 root     root      444 Mar 27 15:13 index.html
-rw-r--r-- 1 root     root      963 Mar 27 15:13 menu_1.html
-rw-r--r-- 1 root     root       13 Mar 28 09:03 number.txt

我的网络服务器是nginx任何想法为什么它从终端工作,但bitbucket不能让它工作?

1 回答

  • 1

    我设法解决了它,使用:

    echo shell_exec("/usr/bin/git pull https://userName:password@bitbucket.org/userName/repo.git master 2>&1");
    

    2>&1 部分帮助我查看有关文件夹权限的错误,我用过

    chown -R www-data .git/
    

    它工作正常 .

相关问题