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 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. In realtà, questo messaggio indica un problema (un bug) in un altro script, plugin o tema. Potresti ricevere questo messaggio se utilizzi un plugin difettoso e la visualizzazione degli errori PHP è attivata, cosa che normalmente non dovrebbe essere.
Questo messaggio appare 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 né 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 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 plugin WordPress difettoso genera un avviso PHP prima che altri plugin inviino le intestazioni a un browser, si verifica un errore del server con il messaggio "Avviso PHP: impossibile modificare le informazioni dell'intestazione – le intestazioni sono già state inviate in …" .
Un messaggio del genere può trarre in inganno chiunque perché non indica quale script o plugin abbia causato l'errore. Quando un server web rileva un output generato da un plugin senza intestazione inviata, crea automaticamente l'intestazione e la invia ai browser, quindi tutti gli altri plugin 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
- Disattiva 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.
- Disabilita la visualizzazione degli errori PHP nelle impostazioni di WP Cerber nella pagina di amministrazione di Hardening.
- Nelle Impostazioni principali di WP Cerber, imposta "Carica motore di sicurezza" su "Modalità standard" o "Modalità avanzata".
- Controlla se la costante WP_DEBUG è definita nel file wp-config.php. Commenta la riga con doppie barre // o eliminala completamente. Ecco come dovrebbe apparire:
// define( 'WP_DEBUG', true );
// define( 'WP_DEBUG', 1 ); - Aggiungere 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 plugin obsoleto/buggato o il tema attivo. Come trovare la causa principale? Controlla il registro degli errori del server. E per favore, elimina i plugin obsoleti.