Chers amis PHP, y a-t-il un moyen de faire en sorte que Xdebug affiche la totalité de la pile à l'écran mais PAS l'écrire dans le journal des erreurs? Je n'aimerais que la ligne d'erreur dans le fichier journal lui-même, mais j'aimerais voir la pile à l'écran.PHP & Xdebug: PAS d'écriture de pile dans le journal des erreurs?
3
A
Répondre
3
xdebug utilise le mécanisme du gestionnaire d'erreurs pour afficher sa trace de pile. Si vous passez commande xdebug sources, et regardez dans xdebug.c, vous verrez cela sur la ligne 801:
if (XG(default_enable) && zend_hash_find(Z_ARRVAL_P(PG(http_globals)[TRACK_VARS_SERVER]), "HTTP_SOAPACT ION", 16, (void**)&dummy) == FAILURE) {
zend_error_cb = new_error_cb;
zend_throw_exception_hook = xdebug_throw_exception_hook;
}
Le xdebug_error_cb()
(rappel d'erreur) et xdebug_throw_exception_hook()
fonctions sont définies dans un autre fichier, xdebug_stack.c
, et ne semblent pas pour vérifier les paramètres de configuration pour voir si la trace de pile doit être incluse dans le journal ou non ... donc votre seule option est de réécrire ces fonctions dans php, et de définir un nouveau gestionnaire d'erreurs avec la fonction set_error_handler()
. Bonne chance!