2010-02-17 3 views
0

현재 공유 웹 호스트 (Linux)를 사용하여 내 사이트를 호스팅하고 있습니다. 나는 '~/home/my_user_name/www'디렉토리 안의 어떤 것도 서버에 의해 쓰기 가능하다는 것을 안다. 다른 위치는 무엇입니까? 기본적으로 기본 세션 저장소 위치를 변경하고 싶습니다. 아마도 www 디렉토리에 저장해서는 안됩니다. 세션이 PHP 프로세스에 의해 저장되기 때문에공유 웹 호스팅에서 웹 서버가 쓸 수있는 디렉토리는 무엇입니까?

편집

는, 세션 저장 위치는 웹 서버의 쓰기 권한을 가지고 있습니까?

편집 2

어떻게이 (TMP 디렉토리는 www 디렉토리 밖에) /home/my_user_name/tmp 디렉토리에 아파치에 대한 권한을 읽기 + 쓰기 줄 수 있을까?

답변

2

httpd 서버가 쓸 수있는 디렉토리에는 실제 "표준"이 없습니다. 디렉토리를 소유 한 사용자가 어떤 액세스 권한을 부여했는지에 따라 달라집니다.

임시 세션 파일은 일반적으로 사람에 의해 일반적으로 쓸 수있는 /tmp 디렉토리에 저장됩니다 - 그러나 이것은 당신의 세션 파일이 당신과 같은 서버를 사용하는 다른 응용 프로그램과 사용자가 액세스 할 수있는 디렉토리에 의미합니다. 응용 프로그램을 구성하고, 그리고 - 당신이 /home/my_user_name/www 디렉토리에서 응용 프로그램을 실행하는 것처럼


, 해결책은 /home/my_user_name/tmp 같은 다른 디렉토리를 만들고, 읽기 +이 디렉토리에 아파치 권한을 쓸 줄 수 있습니다/php 그래서 세션 파일이 거기에 저장됩니다.

다른 솔루션은 세션 데이터를 데이터베이스에 저장하는 것입니다. 서버의 다른 사용자와 응용 프로그램이 액세스 할 수없는 데이터베이스가있을 가능성이 있습니다.

+0

@ 파스칼 : tmp 디렉토리에서 Apache에게 읽기 + 쓰기 권한을 부여하는 방법은 무엇입니까? 아파치는 user/group/others 밑으로 올 것인가? 아마 그룹 밑으로 올거야, 그렇지? – understack

+1

아파치는 어떤 디렉토리가 "루트"로 간주 되느냐에 따라 다르다 :'www'의 경우'www'의 "아래"가 아닌'tmp'는 아파치에 의해 제공되지 않을 것이다 ;;; 그렇지 않으면, 예,'Deny from All'과 같은 것을 포함하는'.htaccess' 파일을 사용하여 아파치가 그것을 제공하지 못하게 할 수 있습니다 ;;; 편집에 대한 답변 : Apache + PHP에서 페이지를 제공 할 때 실제 "PHP 프로세스"는 없습니다. Apache에서 PHP를 사용하더라도 페이지를 제공하는 Apache가 있습니다. –

관련 문제