ich habe einen Bug gefunden, den ich nur auf dem MacOSX xampp reproduzieren kann. Und zwar handelt es sich um $_SESSION Kram.
Ich habe einen linux xampp, wo das nicht auftaucht, aber ich bin mir nicht sicher, WARUM das so ist ;(
Hier der Code, mit Bitte um TEST auf allen verfügbaren Plattformen:
- Code: Select all
<?php
session_start();
class test{
public function get_data(){
$tmp = array(
array('isadmin'=>1, 'test'=>0)
);
$_SESSION['user'] = $tmp[0];
}
}
$tester = new test();
$tester->get_data();
var_dump($_SESSION);
/*
* Output (correct):
array(1) {
["user"]=>
&array(2) {
["isadmin"]=>
int(1)
["test"]=>
int(0)
}
}
*/
$user = array('isadmin'=>0, "test"=>1);
var_dump($_SESSION);
/*
* Output (NOT correct):
*
array(1) {
["user"]=>
&array(2) {
["isadmin"]=>
int(0)
["test"]=>
int(1)
}
}
*/
?>
So sieht der FALSCHE (buggy) Output aus:
array(1) {
["user"]=>
&array(2) {
["isadmin"]=>
int(1)
["test"]=>
int(0)
}
}
array(1) {
["user"]=>
&array(2) {
["admin"]=>
int(0)
["test"]=>
int(1)
}
}
So sollte er korrekterweise aussehen:
array(1) {
["user"]=>
array(2) {
["isadmin"]=>
int(1)
["test"]=>
int(0)
}
}
array(1) {
["user"]=>
array(2) {
["isadmin"]=>
int(1)
["test"]=>
int(0)
}
}
Getestet auf derzeitigem letzten MacOSX xampp mit PHP 5.2.6 (buggy), und auf debian mit letztem xampp (5.2. wo es korrekt läuft.
EDIT: Bug ist hier einzusehen: http://bugs.php.net/bug.php?id=47448