Je viens de me rendre compte qu'un peu de PHP ne s'exécute pas correctement sur un serveur, mais sur un autre.Pas de support de fermeture en PHP 5.3.2-1ubuntu4.2
Ils sont tous deux en cours d'exécution Ubuntu 10.04 avec PHP PHP 5.3.2 (PHP 5.3.2-1ubuntu4.2 avec Suhosin-Patch (cli) (construction: 13 mai 2010 20:03:45))
Je teste en utilisant:
$f = function() {};
var_dump($f);
die();
Sur le serveur qui fonctionne, le résultat est:
objet(fermeture) # 1 (0) {}
Sur celui qui n'a pas, le résultat est:
INCONNU: 0
Qu'est-ce que je manque?
[modifier]
Il semble y avoir un problème d'avoir 2 fermetures dans le même fichier:
<?php
$f = function() {};
$f2 = function() {};
var_dump($f);
var_dump($f2);
die();
Sorties:
INCONNU: 0
objet (fermeture) # 1 (0) {
Etes-vous sûr que l'autre ** fonctionne ** 5.3? Il pourrait être installé, mais avoir une version plus ancienne en cours d'exécution? Essayez d'exécuter 'phpinfo();' pour vous assurer que les paramètres pertinents sont identiques entre eux (bien que je ne sois pas sûr que les paramètres aient quelque chose à voir avec ce problème, mais cela vérifierait la version installée). – ircmaxell
Avez-vous plus d'informations sur les * différences * entre les deux configurations? – salathe
Pouvez-vous définir 'error_reporting' sur' E_ALL | E_STRICT'? Peut-être qu'une erreur est silencieusement supprimée ...? – ircmaxell