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
- 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.
- Disabilita la visualizzazione dell'errore 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 le doppie barre // o elimina semplicemente l'intera riga. Ecco come dovrebbe apparire:
// define( 'WP_DEBUG', true );
// define( 'WP_DEBUG', 1 ); - 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.