2010-08-15 3 views
4

PHP 자체에 이상한 문제가 있습니다.변수 이름에 느낌표를 넣으면 이상한 PHP 동작이 발생합니다.

설정 :

는 PHP 5.33, IIS

에서 (PHP 5.2.14뿐만 아니라 시도)

문제 : PHP는 최대한 빨리이 키에 느낌표를 넣어 모든 세션 데이터를 삭제 세션 배열

예 :

session1.php

session_start(); 
var_dump($_SESSION); 
die(); 

잘 작동

session_start(); 
$_SESSION["foo"] = 'test'; 
header('Location: session2.php'); 

session2.php는 I 가변 데이터 인쇄 참조.

array(1) { ["foo"]=> &string(4) "test" } 

하지만 내가 도착하면 $ _SESSION 배열이 비어 - 그럼 내가 느낌표를 추가하면

$_SESSION["foo!"] = 'test'; 

또는

$_SESSION["f!oo"] = 'test'; 

가 무슨 뜻으로 첫 번째 파일에 라인을 변경하는 경우 제 2 파일로

array(0) { } 

5.2.14에 있었을 때 이것이 PHP의 버그 버전이라고 생각했지만 업그레이드가 도움이되지 않았습니다. 나는 문제가 무엇인지 알지 못한다. 아마도 이것은 Windows 설치 또는 IIS와 관련이 있습니까?

아이디어가 있으십니까?

+0

어떤 세션 백엔드를 사용하고 있습니까? 일반 파일? 'session.save_handler = files' – stillstanding

+1

제 PHP 5.3.1은 "!"와 잘 맞습니다. (xampp). – ehpc

+0

이것에 관한 오래된 버그 보고서가 있었지만 분명히 재현 할 수 없었습니다 (http://bugs.php.net/bug.php?id=14160) – nico

답변

관련 문제