gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:40:44 25 4
gpt4 key购买 nike

我正在使用 bitbucket 来托管我的 git 存储库,该存储库目前拥有一个测试网站,我已经创建了一个 bitbucket webhook,因此当我推送到 bitbucket 存储库时,更改会在 digitalOcean VPS 上实时显示,换句话说.. 当 bitbucket 收到推送时,它会调用 webhook php 文件,并且该 php 文件有一个从 github pull 的 shell 脚本..

钩子(Hook)文件

Hook path : /var/www/html/hook.php

站点文件夹

Site path : /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

它正常工作,并且 pull ..

但问题是,webhooks 只显示这个回复

________PHP_AUTO_PULL________

说明没有 pull ,是的我查了,没有 pull ,如何让钩子(Hook)正常执行文件?

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

列出/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 不能让它运行吗?

最佳答案

我已经设法解决了它,使用:

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/

它工作正常。

关于php - webhook php 文件从终端工作但不是从 bitbucket,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43065897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com