동일한 설정으로이 문제가 발생했으며 문제는 SELinux로 밝혀졌습니다. httpd가 내 외부 프로그램을 실행하지 못하게합니다. 허용 모드로 설정할 수 있습니다.
setenforce permissive
내가 동일한 문제를 겪고 있다면 모든 것이 작동해야합니다. 이것은 재부팅 할 때까지 지속됩니다.
는 이동, 변경을 영구적으로 만들려면을/etc/SELinux가/설정, 변경 :
SELINUX=enforcing
편집
SELINUX=permissive
에 :
OK, 나는 방법에 발견 SELinux를 끄지 않아도됩니다. 문제는 내가 이해할 수 있듯이, httpd가 자체 도메인을 가지고 있고 그 도메인 외부의 것을 만질 수 없다는 것입니다. 따라서 가장 간단한 방법은 스크립트/프로그램을/var/www 디렉토리 트리로 옮기는 것입니다.
semanage fcontext -a -t httpd_sys_content_t "/path/to/program(/.*)?"
기본적으로 프로그램 httpd에 속한 말할 것이다 : 그것은 가능하지 않으면
, 당신은 대신 현재 위치에서 프로그램의 내용을 변경할 수 있습니다.
실행하려는 것은 무엇입니까? PHP 스크립트를 실행하는 사용자에게 실행 권한이 있습니까? –
C.에서 만든 프로그램은/home/emil/workspace/PKE/Debug/PKE에 있습니다. PHP 스크립트 권한을 실행하는 사용자에게 어떻게 권한을 부여합니까? 나는 스크립트와 실행 파일을주는 것이 충분할 것이라고 생각했다. 미안, 나는 newb이다 :) – HelloWorld
PHP 스크립트를 만들고,' php exec ("whoami");'를 입력하면 그 사용자가 누구인지 알 수있다. 해당 파일을 실행할 수있는 권한이있는 그룹에 해당 사용자를 배치하고 –