Bonjour,
voila j'ai un étrange problème.
En local je bosse avec XAMP en PHP 5.4.7
Lorsque je lance ce code en local, tout marche très bien:
Citation :
if (isset($_COOKIE['configuration']['couleur_planning']))
{
foreach(Configuration::get_couleur_planning() as $couleur => $mot) {
foreach(unserialize($mot) as $v)
echo '#'.$couleur."<br>";
}
}
le cookie contient:
Array ( [configuration] => Array ( [couleur_planning] => Array ( [f9ff73] => a:2:{i:0;s:4:"VST ";i:1;s:3:"vst";} [f85a5a] => a:1:{i:0;s:13:"Sous-effectif";} [f55959] => a:1:{i:0;s:4:"STOP";} ) ) ) Je précise que c'est données sont rentrée grâce à la fonction serialize()
|
Or lorsque je le l’héberge sur un serveur fonctionnant en php , ce message d'erreur s'affiche:
Citation :
Warning: Invalid argument supplied for foreach() ( à propos de la ligne foreach(unserialize($mot) as $v) )
Et effectivement, c'est un boolean qui est retournée et non une liste. Ce qui signifie donc que unserialize a échoué. Mais ... je n'arrive pas à comprendre pourquoi.
|
Par ailleurs sur ce serveur, le cookie ne contient pas tout à fait la même chose:
Citation :
Array ( [configuration] => Array ( [couleur_planning] => Array ( [f9ff73] => a:2:{i:0;s:4:\"VST \";i:1;s:3:\"vst\";} [f85a5a] => a:1:{i:0;s:13:\"Sous-effectif\";} [f55959] => a:1:{i:0;s:4:\"STOP\";} ) ) )
|
(je suppose qu'ils ont changé la fonction serialize, mais dans ce cas la fonction unserialize a aussi du être mis à jour ?!)
Quelqu'un aurait il déjà rencontré ce soucis et trouvé une solution ?
Je reste perplexe ... je n'ai aucune idée sur l'origine du problème.
Cordialement.
Message édité par killmehill le 18-02-2013 à 15:56:37