2013-06-02 2 views
0

명령 :나는이 코드를 사용하여 GitHub의에서 호스팅 내 저장소에 어떤 변화를 가져 오기 위해 PHP 파일 만든

<?php 
`git pull`; 
?> 

을 그리고 나는이 PHP 스크립트의 URL을 준 (에 호스팅 내 서버) 내 github 설정에서 서비스 후크 URL로. 그래서 내가 내 github 저장소에 뭔가를 밀어 때 마다이 PHP 파일에 게시물 요청을해야합니다. 그러나 이것은 작동하지 않는 것 같습니다.

github 도움말 페이지는 paylod를 사용하여 해당 URL로 게시물 요청을 보냈다 고 말합니다. 그러면 스크립트가 어떻게 실행됩니까?

내 사이트에 ssh 접속 한 후 bash 프롬프트에서 git pull을 입력하면 모든 변경 사항이 적용됩니다. 이 스크립트에 대한 파일 권한은 현재 755로 설정되어 있습니다.

이 파일을 쉘 스크립트로 실행하려면 어떤 변경 작업이 필요합니까?

편집 - 나는 또한과 같이 해당 폴더의 소유권을 변경 시도 :

후 요청이 URL로 이루어질 때, 스크립트가 www가 데이터 사용자로 실행되도록
chown -R apache:apache Test 

내 생각에 스크립트가 실행될 수 있습니다. 나는이 말을하려고하지만 오류가 발생합니다 :

chown: `apache:apache': invalid group 
+0

내 질문에 대한 자세한 내용을 광고해야합니까? 어떤 도움도 깊이 감사드립니다. – Annihilator8080

답변

0

는 PHP 간부 시도를() 함수

string exec (string $command [, array &$output [, int &$return_var ]]) 

명령 =

출력을 실행됩니다 명령 = 출력 인수가 있으면 지정된 배열이 명령의 모든 출력 행으로 채워집니다. \ n과 같이 후행 공백은이 배열에 포함되지 않습니다. 배열에 이미 일부 요소가 포함되어 있으면 exec()가 배열의 끝에 추가됩니다. 함수가 요소를 추가하지 않게하려면 배열에서 unset()을 호출 한 다음 exec()에 전달합니다.

return_var = return_var 인수가 출력 인수와 함께 있으면 실행 된 명령의 반환 상태가이 변수에 기록됩니다.

출처 : http://php.net/manual/en/function.exec.php

+0

답장을 보내 주셔서 감사합니다.'exec'와'shell_exec'를 모두 사용했지만 스크립트가 실행되지 않는 것 같습니다. 파일 권한이나 파일에 대한 사용자 액세스와 관련이 있다고 생각합니다. – Annihilator8080