我有我見過的PHP本身最古怪的問題。奇怪的PHP行爲,如果我把變量名稱感嘆號
設置:
PHP 5.33,IIS
下(試圖PHP 5.2.14以及)問題: PHP只要我把感嘆號進入一鍵刪除所有會話數據在會話數組中。
實施例:
session1.php
session_start();
$_SESSION["foo"] = 'test';
header('Location: session2.php');
session2.php
session_start();
var_dump($_SESSION);
die();
工作正常,我看到的可變數據打印出來。
array(1) { ["foo"]=> &string(4) "test" }
但是,如果我改變行第一個文件是
或
$_SESSION["f!oo"] = 'test';
我的意思是,如果我添加驚歎號 - 然後$ _SESSION數組是空的,當我得到到第二個文件
我認爲這是PHP 5.2.14的一個bug版本,但升級沒有幫助。 我甚至不知道問題可能是什麼。也許這與Windows安裝程序或IIS有關?
任何想法?
你使用了什麼會話後端?純文件? 'session.save_handler = files' – stillstanding 2010-08-15 10:17:54
我的php 5.3.1可以正常使用「!」 (XAMPP)。 – ehpc 2010-08-15 10:24:19
有一個關於此的舊bug報告,但顯然它不可重現(http://bugs.php.net/bug.php?id=14160) – nico 2010-08-15 10:30:19