PHP 세션 부작용 경고 이해
PHP 웹 사이트를 호스팅하려고 하면 "귀하의 스크립트는 아마도 PHP 4.2.3까지 존재했던 세션 부작용에 대해." 이 문제는 Register_globals 구성이 활성화되지 않는 한 전역 변수를 데이터 소스로 간주하지 않는 세션 확장에서 발생합니다.
경고 원인
경고는 일반적으로 다음과 같은 이유로 발생합니다. 세션 변수와 동일한 이름을 가진 전역 변수가 있는지 확인합니다. 예를 들어:
$_SESSION['var1'] = null;
$var1 = 'something';
이러한 경우 PHP는 전역 변수에서 세션 데이터를 자동으로 채우려고 시도합니다.
문제 해결
문제를 해결하려면 세션 변수와 일치하는 이름을 가진 전역 변수에 대한 코드를 검사하십시오. 이러한 변수가 있는 경우 스크립트에 다음 줄을 추가하여 세션 부작용 경고를 비활성화합니다.
ini_set('session.bug_compat_warn', 0);
ini_set('session.bug_compat_42', 0);
php.ini 또는 .htaccess 구성 파일에서 이러한 값을 설정할 수도 있습니다.
중요 사항
코드 문제를 식별하고 해결하기 위해 이 경고에 의존하는 것은 권장되지 않습니다. 대신 코드가 의도적으로 전역 변수의 세션 데이터를 채우는지 확인하고 필요한 경우 Register_globals 구성 사용을 고려하세요.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3