Bei einer erzeugten Session wird eine Variable die einige Kommas drinnen hat auf einem Server zu einem Array und auf dem anderen nicht.
Ich konnte leider zu dem Thema nichts finden, deshalb nun ein Posting. Hat irgendjemand eine Ahnung wodurch das ausgeloest wird?
Evtl. Lösungsvorschläge wären evtl. auch interessant, aber erst muss ich den Grund verstehen.
Danke fuerst Lesen & Schoene Gruesse
LSArcher
-------------------------------
Hier nun die Details:
Auf meinem Entwicklungsserver hat das einwandfrei funktioniert und mittels print_r($_SESSION) kam folgendes raus:
Array ( [name] => LSArcher [active_modules] => , Add_Delete_Newsletter, Edit_Superuser, Image_Upload, PDF_Upload, Font_Upload, Word_PPoint_Upload)
Auf dem finalen Server wird aber aus der Variable mit den Kommas ein Array:
Array ( [name] => LSArcher [active_modules] => Array ( [0] => [1] => Add_Delete_Newsletter [2] => Edit_Superuser [3] => Image_Upload [4] => PDF_Upload [5] => Font_Upload [6] => Word_PPoint_Upload ) )
Erstellt wird die variable folgendermassen:
Code:
do
{
$active_module = '';
$active_module = ${"module_".$myrowmodules['module']."_active"};
if($active_module != '')
{
$active_modules = ("$active_modules, ".$myrowmodules['module']);
}
}
Dann wandert sie in die mysql Datenbank, und so wird sie spaeter in der Session gespeichert:
Code:
$_SESSION['active_modules'] = $myrow["active_modules"];
Ein paar Serverunterschiede:
Server auf dem alles klappt:
PHP 4.3.4
session.bug_compat_42: OFF
session.use_trans_sid: OFF
session.gc_divisor: 1000
session.save_path /var/lib/php/session
Server der variable in Array wandelt:
PHP 4.3.9
session.bug_compat_42: ON
session.use_trans_sid: ON
session.gc_divisor: 100
session.save_path /tmp