내가 CentOS는 7 에 shell_exec와 Sudo에 문제가있어 다음 줄을 더 출력을 제공하지 :PHP는 shell_exec sudo를
$ 합계 = shell_exec ('sudo는 스크립트/usb/hidusb-relay-cmd ID = HIUPS stat ');
var_dump ($ stat); 제공 NULL 나는 visudo를 사용하여 다음 줄을 추가 한
:아파치 ALL = NOPASSWD :!의/var/www/html/스크립트/USB/hidusb 릴레이 - cmd를
기본값은/var을 ! 다음과 같이/www /에서 HTML/스크립트/USB// I 읽을 수있는 보안 로그 /의/var에서 requiretty
hidusb 릴레이-CMD :
Jun 4 17:45:43 anhelli sudo : apache : TTY = 알 수 없음; PWD =/var/www/html; USER = root; COMMAND = scripts/usb/hidusb-relay-cmd ID = HIUPS stat
위와 같이 su - apache를 실행하고 sudo를 실행했지만 정상적으로 작동합니다. shell_exec의 출력을 얻을 수없는 이유는 무엇입니까?
많은 도움에 감사드립니다. 최고 감사합니다. bzc0fq
스크립트/usb/hidusb-relay-cmd ID = HIUPS stat' 정상적인 명령 행에서 작동합니까? – Noobscripter
예, 루트로 실행할 때 제대로 작동합니다. 그것은 또한 sudo로 아파치 사용자 명령 줄에서 작동합니다.나는 또한/etc/sudoers를 변경하여 아파치 사용자가 실행하는 모든 파일에 sudo privs를 주지만 도움이되지는 않았다. – bzc0fq
당신은 'ps aux | grep Apache '를 실행하여 권한을 삭제하지 않고 Apache로 실행되고 있는지 확인하십시오. – Sean