> 백엔드 개발 > PHP 튜토리얼 > 关于github使用webhook部署代码的问题?

关于github使用webhook部署代码的问题?

WBOY
풀어 주다: 2016-06-06 20:14:00
원래의
1687명이 탐색했습니다.

使用PHP处理github发送过来的请求,测试正常。在调用脚本或使用exec()执行命令总是不能成功。

<code>// 判断签名是否匹配
if ($hash === $payloadHash) {
    // 调用shell
    // file_put_contents('/var/www/niucunhui.io/auto/test.txt', '程序走到这里了');
    exec('cd /var/www/niucunhui.io/auto/ && git pull');
}

</code>
로그인 후 복사
로그인 후 복사

file_put_contents可以写入内容,证明签名是匹配成功的。在服务器单独执行脚本,也是可以pull代码。

脚本如下:

<code>#!/bin/bash

WEB_PATH='/var/www/niucunhui.io/sql-optimize-referance/'
WEB_USER='www'
WEB_USERGROUP='www'

echo "Start deployment"
cd $WEB_PATH
echo "pulling source code..."
git reset --hard origin/master
git clean -f
git pull
git checkout master
echo "changing permissions..."
chown -R $WEB_USER:$WEB_USERGROUP $WEB_PATH
echo "Finished."
</code>
로그인 후 복사
로그인 후 복사

单独写一个PHP程序 exec()命令也是可以执行的。

请问,还有可能是那里的问题?
服务器版本 CentOS 6.5
PHP版本 5.6.15

回复内容:

使用PHP处理github发送过来的请求,测试正常。在调用脚本或使用exec()执行命令总是不能成功。

<code>// 判断签名是否匹配
if ($hash === $payloadHash) {
    // 调用shell
    // file_put_contents('/var/www/niucunhui.io/auto/test.txt', '程序走到这里了');
    exec('cd /var/www/niucunhui.io/auto/ && git pull');
}

</code>
로그인 후 복사
로그인 후 복사

file_put_contents可以写入内容,证明签名是匹配成功的。在服务器单独执行脚本,也是可以pull代码。

脚本如下:

<code>#!/bin/bash

WEB_PATH='/var/www/niucunhui.io/sql-optimize-referance/'
WEB_USER='www'
WEB_USERGROUP='www'

echo "Start deployment"
cd $WEB_PATH
echo "pulling source code..."
git reset --hard origin/master
git clean -f
git pull
git checkout master
echo "changing permissions..."
chown -R $WEB_USER:$WEB_USERGROUP $WEB_PATH
echo "Finished."
</code>
로그인 후 복사
로그인 후 복사

单独写一个PHP程序 exec()命令也是可以执行的。

请问,还有可能是那里的问题?
服务器版本 CentOS 6.5
PHP版本 5.6.15

https://zhuzhenyu.org/2016/01/03/php-github-php/

git命令需要写全路径

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿