php_str_replace_in_subject, bug de PHP.
Posté : 10 juin 2008, 12:24
Hey
,
J'ai rencontré un super bug avec PHP, et ça m'embête pas mal.
J'ouvre ma page, l'application httpd plante magistralement, EXC_BAD_ACCESS et KERN_PROTECTION_FAILURE au rendez-vous, ça démarre fort.
Je regarde le thread 0 crashed et je me rends compte que la fonction php_str_replace_in_subject pose problème. Elle dépend de php_str_replace_common, qui à son tour, dépend de zend_do_fcall_common_helper_SPEC.
Je regarde sur Internet, et notamment du côté du bug tracker de PHP et je trouve le bug 20221. Horreur, il existe depuis 2002 et il n'est pas toujours pas réparé. On trouve encore des traces de ce bug en PHP 5.0.4, je suis en 5.2.5 et le bug existe toujours.
Donc, j'ai fini par trouver où est-ce qu'il se déclenchait. À un moment donné, pas de bol, j'utilise la fonction str_replace et ça me fout tout en l'air. Je n'arrive pas vraiment à comprendre pourquoi, car je n'utilise que des chaînes (et pas des tableaux, même si une chaîne est un tableau, je pense que PHP fait la différence pour cette fonction non ?). Voilà. Mais j'ai besoin de cette fonction, alors je fais comment ? J'attends un correctif ou alors j'utilise une autre fonction ?
Merci
.
J'ai rencontré un super bug avec PHP, et ça m'embête pas mal.
J'ouvre ma page, l'application httpd plante magistralement, EXC_BAD_ACCESS et KERN_PROTECTION_FAILURE au rendez-vous, ça démarre fort.
Je regarde le thread 0 crashed et je me rends compte que la fonction php_str_replace_in_subject pose problème. Elle dépend de php_str_replace_common, qui à son tour, dépend de zend_do_fcall_common_helper_SPEC.
Je regarde sur Internet, et notamment du côté du bug tracker de PHP et je trouve le bug 20221. Horreur, il existe depuis 2002 et il n'est pas toujours pas réparé. On trouve encore des traces de ce bug en PHP 5.0.4, je suis en 5.2.5 et le bug existe toujours.
Donc, j'ai fini par trouver où est-ce qu'il se déclenchait. À un moment donné, pas de bol, j'utilise la fonction str_replace et ça me fout tout en l'air. Je n'arrive pas vraiment à comprendre pourquoi, car je n'utilise que des chaînes (et pas des tableaux, même si une chaîne est un tableau, je pense que PHP fait la différence pour cette fonction non ?). Voilà. Mais j'ai besoin de cette fonction, alors je fais comment ? J'attends un correctif ou alors j'utilise une autre fonction ?
Merci