2012-04-26 2 views
0

안녕하세요.
PHP 모듈 (.so)이 PHP 내에로드되어 있습니다. MINIT 단계에서 파일을 읽으려고 시도합니다.
파일은 /tmp/aaa.txt입니다. /tmp 디렉토리는 root에 속하며 사용 권한은 777로 설정됩니다.
/tmp/aaa.txt 파일은 apache 사용자에게 속하며 권한도 777 개로 설정되어 있습니다.PHP 모듈에서 파일 읽기가 errno와 함께 실패합니다. 13

모듈 결국는 fopen이다
#define VCWD_FOPEN(path, mode) virtual_fopen(path, mode TSRMLS_CC)()에 대한 정의이다 VCWD_FOPEN()를 사용하여 파일을 연다.

VCWD_FOPEN 오류 13 실패 (권한 거부). 내가 수동으로 (#php -r 'echo "hi";') 모듈을 호출 할 경우
이상한 것은, - 그것은 작동합니다. 그러나 아파치에서 실행할 때 - 그것은 나던.
아무도 이유가 무엇인지 압니까?

고맙습니다.

+0

시도 #setenforce 0
#service httpd restart

작품을 입력하지 않으려면, – ilanco

+0

당신이 변경하여 그것을 시도 할 수 나에게 권한 문제처럼 보인다 아파치 사용자의 그룹을 루트의 것과 동일하게 만드시겠습니까? –

+0

'getuid()'와'getgid()'를 출력하면 모두 0입니다. 여전히 액세스가 거부되었습니다./etc에 파일을 넣으면 작동합니다. 그러나/tmp에는 없습니다. 이상한 점 : ( – Vasisualiy

답변

0

발견 된 문제입니다. 사용자 권한 정책이 SELinux에 의해 시행되었습니다. 그것이 내가 지금 아파치 사용자로 같은 PHP는 명령을 실행하고 어떻게 볼 수

+0

작동 할 수도 있지만 수정 사항이 아닙니다. –

+0

오류의 원인입니다. 해결책은 내가 필요한 것에 달려 있습니다. – Vasisualiy

관련 문제