PHP에 파일을 쓸 수 없습니다

PHP에 파일을 쓸 수 없습니다

/tmp 디렉토리에 파일을 생성하려고 했지만 실패했습니다. 심지어 내가 있는 동일한 디렉토리(/var/www/html)에 파일을 생성하는 것도 허용되지 않습니다. 내 php.ini에 올바른 설정이 없다고 생각하는데, 작동하려면 무엇을 변경해야 하는지 모르겠습니다.

내 운영 체제는 CentOS7이고 PHP 5.4.16으로 Apache를 실행하고 있습니다. 나는 /var/www/html에 대한 읽기/쓰기 액세스 권한을 갖고 있으며 사용자/그룹은 apache로 설정되어 있습니다. 다음은 작동하지 않는 파일을 작성하기 위한 일반 코드입니다. "파일을 열 수 없습니다"라는 메시지가 계속 나타납니다.

$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
$txt = "John Doe\n";
fwrite($myfile, $txt);
fclose($myfile);

답변1

첫째, newfile.txt에 대해 /tmp 경로를 지정하지 않았는데 이를 어디에 쓸지 어떻게 알 수 있습니까?

두 번째는 /etc/systemd/system/multi-user.target.wants/httpd.conf 파일을 체크인하면 CentOS 7이 systemd를 사용한다는 것입니다.

이 줄이 보일 거예요

PrivateTmp=true

이는 귀하의 파일이 /tmp/systemd-private... 또는 이와 유사한 디렉토리에 작성되었거나 작성될 것임을 의미합니다.

이에 대해 크게 신경 쓰지 않는다면 false로 변경하고 다시 로드할 수 있습니다.

systemctl daemon-reload 그런 다음 httpd를 다시 시작해야 할 수도 있습니다.

관련 정보