>백엔드 개발 >PHP 튜토리얼 >PHP에서 Linux 명령을 호출할 수 있는 권한 부족에 대한 솔루션

PHP에서 Linux 명령을 호출할 수 있는 권한 부족에 대한 솔루션

怪我咯
怪我咯원래의
2017-07-04 14:21:502419검색

이 글은 주로 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.