Ubuntu 10.04, Apache2 및 PHP 5.3.2가 설치된 개발 데스크탑이 있습니다. 내 웹 응용 프로그램 루트 폴더에 0777 권한을 부여했으며 Apache2도 현재 사용자 이름으로 실행 중입니다. 하지만때때로다음 파일 오류가 발생합니다.
file_put_contents(/var/www/kohana_project/application/cache/kohana_find_file_paths): 스트림을 열지 못했습니다: 권한이 거부되었습니다.
위의 모든 요청에 대해 파일을 업데이트하고 실행해야 하지만 오류가 거의 발생하지 않습니다. 이 문제를 해결하는 방법을 아는 사람이 있나요?
그리고 현재 로그인한 사용자와 www-data는 kohana_project 디렉토리와 그 내용에 대한 모든 권한을 가지고 있습니다.
답변1
가능한 이유는 당신이소유자파일의 내용을 변경했지만권한. :)
따라서 먼저 소유자 이름을 알아야 합니다.아파치서버가 실행 중이고 동일한 소유자를 귀하에게 할당하십시오 /var/www/<file/folder>
.
다음과 같이하세요:
주인을 찾아라httpd. 이 명령을 실행하여 소유자를 가져옵니다.httpd:
sudo ps aux | grep httpd
첫 번째 열은 소유자가 말하는 것입니다어떤 사람. 다음과 같은 숫자를 얻으면1001또는 대신 다른 번호어떤 사람그런 다음 이 명령을 실행하여 소유자 이름을 가져옵니다.
grep 1001 /etc/passwd
이번에도 첫 번째 필드가 프로세스의 소유자가 됩니다.
이제 아래의 파일/폴더 소유자를 변경하세요.www에게어떤 사람
sudo chown -R somebody /var/www/<path to the file/folder>
서버를 다시 시작하세요
sudo /etc/init.d/apache2 restart
그게 다야. 그것이 당신에게 도움이 되기를 바랍니다. :)