2017-01-14 2 views
0

Closers & dupes, s'il vous plaît ne pas que je demande une solution qui implique la configuration de Xdebug - personne n'en a encore offert un.Xdebug - comment supprimer "Impossible de modifier les informations d'en-tête"?


Normalement, je déboguer mon PHP dans Eclipse, mais je permet également d'ajouter &debug à une URL à faire quelques simples echo et var_dump() à une page du navigateur (uniquement pour le développement).

Je sais, je sais ... déboguer par printf() ... frémir!

Mais, c'est rapide et ça fonctionne quand c'est nécessaire.

Mon problème est que la page générée est pleine de

Avertissement: Impossible de modifier les informations d'en-tête - têtes déjà envoyés par (output started at ...

avec un backtrace

.

+2

Copie possible de [Comment corriger l'erreur "En-têtes déjà envoyés" en PHP] (http://stackoverflow.com/questions/8028957/how-to-fix-headers-already-sent-error-in-php) – Qirel

+0

Non! Certains d'entre eux sont inévitables, étant donné qu'il s'agit d'un code de débogage (et je ne veux pas faire l'effort de corriger la non-production, délai donné). Je veux juste les supprimer sur la page - pour le débogage seulement. – Mawg

+0

Je ne dirais pas "Non!" sans lire le dupe réel - il vous dit même comment supprimer les erreurs, si clairement que vous ne l'avez pas lu complètement! Bien que, * les fixer * serait la meilleure approche. ;-) – Qirel

Répondre

2

Il semble que vous essayez de démarrer une session, faire une redirection d'en-tête, définir une co okie, etc après vous avez sorti vos informations de débogage au navigateur. Et cela conduit aux avertissements que vous recevez. Ce que vous pouvez faire, est de commencer output buffering (peut-être conditionnellement, en fonction de votre variable de débogage ...) tout en haut de votre script et vider la sortie à la fin du script ou au moins après les sections qui provoquer les avertissements.

+1

Quelques très bons points. Vous m'avez fait faire ce que j'aurais dû faire avant de poster - j'ai lu ces backtarces :-) Le coupable semble être le 'ChromePhp' que j'utilise pour tracer à la console de développeur du navigateur. Si je n'invoque pas quand '& debug' est présent, le backtrace n'est pas affiché – Mawg