
설치 프로세스의 첫 번째 단계에서 다음과 같은 오류가 발생하여 설치하려고 하는 문서 관리 시스템에 계속 문제가 발생했습니다.
Warning: Unknown: open(/tmp/sess_d39cac7f80834b2ee069d0c867ac169c, O_RDWR) failed: Permission denied (13) in Unknown on line 0
Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0
/tmp를 살펴보니 sess_* 파일에 다음 권한이 있는 것을 확인했습니다.
---------- 1 vanced vanced 1240 Jan 20 08:48 sess_d39cac7f80834b2ee069d0c867ac169c
모든 세션 파일은 다음과 같습니다. 따라서 분명히 PHP에서는 사용할 수 없으며 이로 인해 많은 문제가 발생합니다.
PHP가 올바른 권한을 설정하도록 하려면 어떻게 해야 합니까? php.ini가 사용하는 디렉토리를 /tmp/phpsessions로 변경해 보았는데 같은 현상이 발생합니다. 디렉토리는 a+rwx
.
답변1
폴더 /tmp
는 세션 파일의 기본 자리 표시자입니다. 자신만의 사용자 정의 세션 폴더를 더 잘 사용하세요
호스트가 재정의 권한을 허용한 경우 아래 또는 폴더 .htaccess
에 다음 지시문을 배치할 수 있습니다..htaccess
public_html
httpdocs
php_value session.save_path '/yourpath/sessionfolder'
php
모드 에서 실행 중이 아닌 경우 suphp
다른 사람이 해당 폴더에 쓸 수 있는지 확인하십시오( 777
).
답변2
umask
이 계정에 특별한 설정이 있나요 ? 어딘가에 누군가가 잘못 설정한 것 같습니다. 다음과 같은 결과가 반환되어야 합니다.
% umask
0022
답변3
실행 중인 프로세스의 umask를 찾으려면 다음을 수행하세요.
https://stackoverflow.com/questions/165212/linux-getting-umask-of-an-already-running-process
답변4
변경해 보세요우마스크실제 응용 프로그램에서.
index.php 또는 bootstrap 파일을 찾아 맨 위에 다음을 추가하세요.
umask(0022);