Help
Posted By Gregory

Avviso PHP: Impossibile modificare le informazioni dell'intestazione


English version: PHP Warning: Cannot modify header information


Avviso PHP: Impossibile modificare le informazioni dell'intestazione: le intestazioni sono già state inviate…

A volte questo messaggio potrebbe comparire nel registro degli errori del server o visualizzato su una pagina web. È frustrante e sembra indicare un problema con lo script PHP menzionato nel messaggio. In realtà, questo messaggio segnala un problema (un bug) in un altro script, plugin o tema. Può comparire se si utilizza un plugin difettoso e la visualizzazione degli errori PHP è attiva, cosa che normalmente non dovrebbe essere.

Questo messaggio viene visualizzato quando una porzione di codice PHP su un sito web genera un output, che in genere è un messaggio di avviso PHP che non dovrebbe essere inviato e visualizzato nel browser dell'utente. Questo output viene inviato prima che l'intestazione della pagina web venga generata e inviata al browser dell'utente. L'intestazione di una pagina web può essere vuota o contenere informazioni aggiuntive come i cookie.

Che l'intestazione sia vuota o meno, deve essere inviata prima di qualsiasi contenuto della pagina.

Se un plugin di WordPress difettoso genera un avviso PHP prima che altri plugin inviino le intestazioni al browser, ciò comporta un errore del server con il messaggio "Avviso PHP: Impossibile modificare le informazioni dell'intestazione – intestazioni già inviate in…" .

Un messaggio di questo tipo può trarre in inganno chiunque, perché non specifica quale script o plugin abbia causato l'errore. Quando un server web rileva un output generato da un plugin senza l'intestazione corrispondente, la crea automaticamente e la invia ai browser, impedendo così a tutti gli altri plugin che non si aspettano tale comportamento di inviare le proprie intestazioni, qualora ne avessero bisogno.

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

  1. Disabilita la visualizzazione degli errori nelle impostazioni PHP del pannello di controllo del tuo hosting. Se non hai accesso alle impostazioni PHP, chiedi assistenza al tuo provider di hosting.
  2. Disabilitare 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 // oppure elimina 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 );

Il problema potrebbe essere causato da WP Cerber o da WordPress?

No. L'unico codice che può causare questo problema è un plugin obsoleto/difettoso oppure il tema attivo. Come trovare la causa principale? Controlla il registro degli errori del server. E per favore, disinstalla i 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.