PHP.ini 사용자 정의 session.save_path 권한이 거부되었습니다.

PHP.ini 사용자 정의 session.save_path 권한이 거부되었습니다.

나는 사용한다

  • Centos 7(최신 업데이트)
  • 아파치 2.4.6
  • PHP 7.2

서버에 세션이 저장된 디렉터리를 변경하고 싶습니다. 기본 디렉터리는 입니다. /var/lib/php/session/이 디렉터리를 문제 없이 사용할 수 있지만 PHP.ini파일에서 디렉터리를 변경하면 오류가 발생합니다.

session_start(): open(/var/www/session/sess_dug784eu96aj06eh1gte4hak2f, O_RDWR) failed: Permission denied (13)

또한 세션 디렉터리가 재정의되는 것을 중지하려면 다음 줄을 편집하고 제거했습니다 php.conf./etc/httpd/conf.d

php_value session.save_path    "/var/lib/php/session"

보시다시피 저는 /var/www/session/세션을 저장하기 위해 새 디렉터리를 사용하고 있으며 이 디렉터리는 존재하며 기본 디렉터리와 정확히 동일한 권한을 갖습니다.

0770 / owner : root / group : Apache

또한 기존 세션 파일을 기본 디렉터리에서 새 디렉터리로 복사하려고 시도했지만 여전히 동일한 오류가 발생합니다!

도움을 주셔서 감사합니다.

답변1

좋아, 문제가 있는 곳을 가리키는 THX @womble이라는 해결책을 찾았습니다. 적어도 올바른 방법으로 검색할 수는 있었습니다.

다른 사람이 동일한 문제를 겪는 경우 SELinux는 대부분 비활성화되거나(권장되지 않음) Apache가 새 디렉토리에 액세스할 수 있도록 구성됩니다.

chcon -t httpd_sys_rw_content_t /var/www/session -R

관련 정보