Language/[PHP]
PHP - file_put_contents 가 실행되지 않음
NukeOlaf
2020. 2. 3. 16:31
PHP Warning: fopen() Error: failed to open stream: Permission denied
<?php
file_put_contents("data/".$_POST['name'], $_POST['guestbook']);
echo $_POST['name']."<br>";
echo $_POST['guestbook'];
header('Location: /olaf.php#guest');
?>
위의 PHP 코드로 POST 메서드를 통해 받아온 데이터를 이용해 파일을 만들어서 data 라는 디렉토리에 저장하려고 했다. 하지만 어째서인지 파일이 만들어지지 않았다.
apache 의 error.log 를 보니까 이렇게 나온다.
PHP Warning: fopen() Error: failed to open stream: Permission denied
권한문제로 인해 파일이 작성되지 않는 듯 했다.
data 디렉토리의 권한을 777 로 바꿔봤다.
이렇게 바꿔주니까 해결이 되었다.
처음에는 sudo su 로 root 계정에서 chmod 를 해주었었는데, 해결이 안되었다.
그런데 olaf 계정에서 chmod 를 해주니까 해결이 되었다.
왜 되는지 모르겠으나 일단 해결되었으니 다행
참고한 사이트>>>