이 기사에서는 PHP 프롬프트 세션 데이터 쓰기 실패 오류에 대한 해결 방법을 자세히 분석합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 방법은 다음과 같습니다.
1. 질문:
프롬프트 메시지: 경고: 세션 데이터(파일)를 쓰지 못했습니다. session.save_path의 현재 설정이 0행의 알 수 없음에서 올바른지 확인하세요.
2. 해결책:
코드는 다음과 같습니다.
이는 사용자 정의 폴더 지정 오류로 인해 발생합니다. 시스템이 기본적으로 표시되지 않는 경우 디렉터리에 쓰기 권한이 없으므로 모든 사람이 권한을 부여할 수 있다는 메시지가 나타날 수 있습니다.
PHP의 작동 메커니즘으로 인해 세션 정보를 정기적으로 검사하여 유효하지 않은지 확인하는 데몬 스레드가 없습니다. 유효한 요청이 발생하면 PHP는 전역 변수의 값을 기반으로 합니다. session.gc_probability 및 session.gc_divisor, GC 활성화 여부를 결정하기 위해 기본적으로 session.gc_probability=1, session.gc_divisor =100은 GC를 시작할 가능성이 1%라는 것을 의미합니다(즉, 100에 단 하나의 gc만) 요청은 100개의 요청으로 시작됩니다.
PHP 가비지 수집 메커니즘의 작업은 모든 세션 정보를 스캔하고 현재 시간에서 세션의 마지막 수정 시간을 뺀 후 이를 session.gc_maxlifetime 매개변수와 비교하는 것입니다. 생존 시간이 gc_maxlifetime(기본값 24)을 초과하는 경우 분) 세션이 삭제됩니다.
그러나 웹 서버에 여러 사이트가 있는 경우 여러 사이트의 세션을 처리할 때 GC가 예상치 못한 결과를 초래할 수 있습니다. 그 이유는 GC가 작동할 때 서로 다른 사이트의 세션을 구분하지 않기 때문입니다.
이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.