Help
Posted By Gregory

PHP-waarschuwing: kan header-informatie niet wijzigen


English version: PHP Warning: Cannot modify header information


PHP-waarschuwing: kan header-informatie niet wijzigen – headers zijn al verzonden …

Soms ziet u dit bericht in het serverfoutenlogboek of wordt het weergegeven op een webpagina. Het is frustrerend en het lijkt erop dat er iets mis is met het PHP-script dat in het bericht wordt vermeld. In feite duidt dit bericht op een probleem (een bug) in een ander script, plug-in of thema. U kunt dit bericht krijgen als u een plug-in met fouten gebruikt en het weergeven van PHP-fouten is ingeschakeld, wat normaal gesproken niet het geval zou moeten zijn.

Dit bericht verschijnt wanneer een stukje PHP-code op een website een uitvoer genereert, wat doorgaans een PHP-waarschuwingsbericht is dat helemaal niet mag worden verzonden en weergegeven in de browser van de gebruiker. En deze uitvoer wordt verzonden voordat een header van de webpagina wordt gegenereerd en naar een gebruikersbrowser wordt verzonden. De header van een webpagina kan leeg zijn of kan aanvullende informatie verwerken, zoals cookies.

Of de header nu leeg is of niet, deze moet vóór elke pagina-inhoud worden verzonden.

Als een WordPress-plug-in met fouten een PHP-waarschuwing genereert voordat andere plug-ins headers naar een browser sturen, leidt dit tot een serverfout met de melding "PHP-waarschuwing: kan header-informatie niet wijzigen – headers zijn al verzonden …" .

Een dergelijk bericht kan iedereen misleiden, omdat het niet vertelt welk script of welke plug-in deze fout heeft veroorzaakt. Wanneer een webserver uitvoer detecteert die is gegenereerd door een plug-in zonder dat er een header is verzonden, wordt de header automatisch gemaakt en naar de browsers verzonden. Alle andere plug-ins die dergelijk gedrag niet verwachten, kunnen hun headers dus niet verzenden als dat nodig is. .

Hoe dit probleem op te lossen in de context van het gebruik van WP Cerber Security

  1. Schakel de foutweergave uit in de PHP-instellingen van uw hostingcontrolepaneel. Als je geen toegang hebt tot de PHP-instellingen, vraag dan je hostingprovider om hulp.
  2. Schakel de weergave van PHP-fouten uit in de WP Cerber-instellingen op de Hardening-beheerpagina.
  3. Stel in de hoofdinstellingen van WP Cerber "Beveiligingsengine laden" in op "Standaardmodus" of "Geavanceerde modus".
  4. Controleer of de constante WP_DEBUG is gedefinieerd in het bestand wp-config.php. Geef commentaar op de regel met dubbele schuine strepen // of verwijder gewoon de hele regel. Dit is hoe het eruit zou moeten zien:
    // define( 'WP_DEBUG', true );
    // define( 'WP_DEBUG', 1 );
  5. Voeg de volgende regels toe aan het begin van het wp-config.php-bestand:
    @ini_set( 'display_errors', 0 );
    @ini_set( 'log_errors', 1 );

Kan WP Cerber of WordPress de oorzaak van het probleem zijn?

Nee. De enige code die dit probleem kan veroorzaken is een verouderde plug-in/plug-in met fouten of het actieve thema. Hoe de oorzaak vinden? Controleer het serverfoutenlogboek. En verwijder alstublieft verouderde plug-ins.


I'm a team lead in Cerber Tech. I'm a software & database architect, WordPress - PHP - SQL - JavaScript developer. I started coding in 1993 on IBM System/370 (yeah, that was amazing days) and today software engineering at Cerber Tech is how I make my living. I've taught to have high standards for myself as well as using them in developing software solutions.

View Comments
There are currently no comments.