Help
Posted By Gregory

Avviso PHP: impossibile modificare le informazioni di intestazione


English version: PHP Warning: Cannot modify header information


Avviso PHP: impossibile modificare le informazioni di intestazione – intestazioni già inviate in …

A volte potresti vedere questo messaggio nel registro degli errori del server o visualizzarlo su una pagina web. È frustrante e sembra che ci sia qualcosa che non va nello script PHP menzionato nel messaggio. Infatti, questo messaggio indica un problema (un bug) in un altro script, plugin o tema. Puoi ricevere questo messaggio se usi un plug-in difettoso e la visualizzazione degli errori PHP è attivata, cosa che normalmente non dovrebbe essere.

Questo messaggio appare quando un pezzo di codice PHP su un sito Web genera un output, che in genere è un messaggio di avviso PHP che non dovrebbe essere inviato e mostrato nel browser degli utenti. E questo output viene inviato prima che un'intestazione della pagina Web venga generata e inviata a un browser utente. L'intestazione di una pagina Web può essere vuota o può gestire informazioni aggiuntive come i cookie.

Indipendentemente dal fatto che l'intestazione sia vuota o meno, deve essere inviata prima di qualsiasi contenuto della pagina.

Se un plug-in WordPress difettoso genera un avviso PHP prima che altri plug-in inviino le intestazioni a un browser, genera un errore del server con il messaggio "Avviso PHP: impossibile modificare le informazioni dell'intestazione – intestazioni già inviate …" .

Un tale messaggio può fuorviare chiunque perché non dice quale script o plugin ha causato questo errore. Quando un server Web rileva qualsiasi output generato da un plug-in senza alcuna intestazione inviata, crea automaticamente l'intestazione e la invia ai browser, quindi tutti gli altri plug-in che non si aspettano tale comportamento non sono in grado di inviare le proprie intestazioni se necessario .

Come risolvere questo problema nel contesto dell'utilizzo di WP Cerber Security

  1. Disabilita la visualizzazione degli errori nelle impostazioni PHP del tuo pannello di controllo di hosting. Se non hai accesso alle impostazioni PHP, chiedi assistenza al tuo provider di hosting.
  2. Disabilita la visualizzazione dell'errore PHP nelle impostazioni di WP Cerber nella pagina di amministrazione di Hardening.
  3. Nelle impostazioni principali di WP Cerber, imposta "Carica motore di sicurezza" su "Modalità standard" o "Modalità avanzata".
  4. Controlla se la costante WP_DEBUG è definita nel file wp-config.php. Commenta la riga con le doppie barre // o elimina semplicemente l'intera riga. Ecco come dovrebbe apparire:
    // define( 'WP_DEBUG', true );
    // define( 'WP_DEBUG', 1 );
  5. Aggiungi le seguenti righe all'inizio del file wp-config.php:
    @ini_set( 'display_errors', 0 );
    @ini_set( 'log_errors', 1 );

WP Cerber o WordPress possono essere la causa del problema?

No. L'unico codice che può causare questo problema è un plug-in obsoleto/bacato o il tema attivo. Come trovare la causa principale? Controlla il registro degli errori del server. E per favore sbarazzati dei plugin obsoleti.


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.