이 글은 주로 PHPLinux 호출 시 명령 권한이 부족한 문제에 대한 해결 방법을 소개합니다. 이 글은 sudo구성 파일을 수정하여 실행 권한이 없는 문제를 해결한 내용을 요약한 것입니다. 명령어는 해결이 됩니다
사업 배경: yourcmd는 제 리눅스 프로그램입니다. PHP를 사용하여 yourcmd 프로그램을 실행할 때
시스템: CentOS 6.3
apache가 실행 사용자입니다. php
execfunction을 사용하여 Linux를 실행합니다. 시스템의 /usr/local/yourcmd/sbin/yourcmd
php 코드는 다음과 같습니다.
코드는 다음과 같습니다.
<?php $conf_file = "/var/www/html/webroot/test.tmp"; $command = "sudo /usr/local/yourcmd/sbin/yourcmd -t -f {$conf_file}"; exec($command,$out); print_r($out);
테스트 결과 권한이 없습니다
코드는 다음과 같습니다
Array ( [0] => sudo: no tty present and no askpass program specified )
해결 단계:
코드는 다음과 같습니다.
$ visudo
1)Comment 다음 줄
The 코드는 다음과 같습니다.
#Defaults requiretty
2)파일 끝에 다음을 추가합니다
코드는 다음과 같습니다.
apache ALL=(ALL) NOPASSWD: ALL Cmnd_Alias yourcmd = /usr/local/yourcmd/sbin/yourcmd
최종 테스트 결과
코드는 다음과 같습니다.
Array ( [0] => Warning: memory is too small: 1044725760 [1] => test configure is ok )
위 내용은 PHP에서 Linux 명령을 호출할 수 있는 권한 부족에 대한 솔루션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!