나는 open_basedir이 없으며, PHP는 / etc / usr / proc / home 등에 액세스 할 수 있지만 / tmp는 액세스 할 수 없습니다.
tmpfs는 / tmp에 마운트됩니다 (/ tmp type tmpfs (rw)) 또한 / tmp 폴더를 사용하려는 이유이기도합니다.
내 파일은 http (nginx 및 php 사용자)가 소유하고 모든 사람이 읽을 수 있습니다.
sudo -u http cat /tmp/file
작동하지만 PHP 스크립트 내부의 파일은 없습니다 (file_exist () 또는 file ()).
편집 : 로그에 오류 표시 :
PHP Warning: file(/tmp/ydlw/pid): failed to open stream: No such file or directory in /srv/http/ydlw/status.php on line 267
edit2 : 다른 방법으로 문제를 테스트했습니다. 내가 만든
touch("/tmp/boo");
file_exist("/tmp/boo");
file_exist는 true를 반환하므로 파일이 생성됩니다. 그런 다음 / tmp 내부를보고 "boo"파일을 찾을 수 없습니다. 그것이 내가 두려워했던 것입니다. php는 마운트 지점을«see»하지 않습니다. 그 이유는 무엇이며 어떻게 해결할 수 있습니까?
/tmp/ydlw/pid
이에 /tmp
있습니까? 그렇지 않은 경우, 이것이 오류 메시지의 이유입니다.