운영 및 유지 관리에 있어 온라인 배포를 위한 시각적 버전 관리 및 코드 제출 플랫폼 구축이 매우 필요합니다. 이 경우 운영 및 유지보수 담당자가 Linux 터미널에서 명령줄이나 git 도구를 사용하는 것은 그리 편리하지 않습니다. 우리에게 필요한 방법은 웹훅 자동 배포 또는 웹 인터페이스 기반 운영 패널을 사용하여 제어하는 것입니다.
이것은 단순한 데모일 뿐이며 프로덕션 링크로 사용할 수 없습니다.
1 2 3 4 5 6 7 8 9 |
|
1 |
|
위 명령은 먼저 작업 디렉터리를 /data/로 전환합니다. wwwroot 디렉토리입니다. 이것은 내 웹 디렉토리입니다. 두 번째 명령 sudo /usr/bin/git clone http://[자신의 git 계정]:[자신의 git 비밀번호]@git.sikukeji.com/”.$data['repository']['full_name ']; 사실 그냥 일반 git 명령을 실행하고 온라인 git 코드 베이스의 코드를 로컬에 복제했습니다.
이것을 작성한 후에는 코드에 문제가 없습니다. 실제로 웹훅이 실행되지 않습니다. .왜? git을 실행할 때 시스템 관리자 권한으로 명령을 실행하는 데 sudo가 사용됩니다.Linux에서 sudo를 사용하여 실행할 때는 루트 [관리자] 비밀번호를 입력해야 한다는 것을 알고 있지만 PHP의 shell_exec를 사용할 때는 실행하려면 비밀번호를 입력할 방법이 없는데 이때는 어떻게 해야 하나요? 사실 리눅스에서는 비밀번호를 입력하지 않고 sudo를 사용할 수 있는 방법이 있습니다. 구성 파일 /etc/sudoers. 이름에서 그 의미를 추측할 수 있습니다.
암호 없이 git 명령 추가
PHP 실행은 실제로 www 사용자이므로 git을 실행하여 설정할 수 있습니다. PHP는 또한 www 사용자가 비밀번호 없이 git을 실행할 수 있도록 허용하는 명령문은
www ALL=NOPASSWD:/usr/bin/git
궁금한 점이 있으면 weiyongqiang@weiyongqiang.com으로 이메일을 보내주세요.
관련 권장 사항:웹훅을 사용하여 코드를 배포하는 Github 정보 ?
위 내용은 PHP에서 웹훅을 작성하면 git을 실행할 수 없습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!