En date d'hier (peut-être après une mise à jour récente de PHP?), J'obtiens des bugs non-déterministes très étranges dans php 5.3.3. Ils apparaissent également dans notre serveur de production en PHP 5.3.2.Bogue de référence d'objet non-déterministe en PHP 5.3.X
Les erreurs sont essentiellement de Fatal error: Uncaught exception 'ErrorException' with message 'Attempt to assign property of non-object'
dans diverses parties de la base de code. Généralement, la ligne d'erreur est quelque chose comme: $this->foo = $bar
dans un appel __construct()
.
$this
est introuvable dans le constructeur ?!
Je n'ai aucune idée de ce qui se passe. Des idées? Est-ce peut-être une régression de ce bug ?: http://bugs.php.net/31525
Modifier: Je dois mentionner, rafraîchir le script après un peu de temps, avec absolument aucune modification du code, fait fonctionner à nouveau. Donc non déterministe.
Edit 2: De plus, alors que PHP est réglé pour se connecter, même le plus minuscule des erreurs et est la connexion d'autres erreurs comme ils se produisent, cette erreur n'est pas enregistrée dans le fichier journal. Cela m'amène à penser que nous examinons une erreur de dépendance du moteur PHP.
tout cache opcode utilisé? – ajreal
Sur ma boite locale, il n'y en a pas: http://pastie.org/pastes/1300493/text?key=79mmr7dmm10qi4cvy6kvg – Karan
Montre le constructeur ... En fait, montre toute la classe si tu peux ... toujours arriver sur la même classe? Ou est-ce que l'erreur est errante? Avez-vous des traces de retour complètes pour être sûr que l'erreur ne se déclenche pas sur une autre ligne, mais qu'elle y soit affichée (comme peut-être à l'intérieur d'une méthode magique)? – ircmaxell