Runtime
Warning: Cannot modify header information - headers already sent by (output started at /var/www/file.php:12). – PHP E_WARNING
Una funzione come `header()`, `setcookie()` o `session_start()` è stata chiamata dopo che PHP ha già iniziato a trasmettere il corpo della risposta HTTP a causa di caratteri di spaziatura (BOM, spazi) o echo prematuro prima del tag `<?php`.
Cosa significa questo errore?
Una funzione come `header()`, `setcookie()` o `session_start()` è stata chiamata dopo che PHP ha già iniziato a trasmettere il corpo della risposta HTTP a causa di caratteri di spaziatura (BOM, spazi) o echo prematuro prima del tag `<?php`.
Messaggio originale
Warning: Cannot modify header information - headers already sent by (output started at /var/www/file.php:12).Contesto e parole chiave
Alias
- Cannot modify header information
- headers already sent PHP
Messaggi alternativi
- impossibile modificare gli header HTTP header già inviati
Prodotti
- PHP Engine / Zend Engine / PHP-FPM / Composer
Piattaforme
- Linux
- macOS
- Windows Server
Parole chiave
- composer
- E_WARNING
- errore-php-cannot-modify-header-information-headers-already-sent
- php
- php 8
- php.runtime.headers-already-sent
- Runtime
Cause possibili
Origine del problema per PHP: Warning — Cannot modify header information (headers already sent)
Una funzione come `header()`, `setcookie()` o `session_start()` è stata chiamata dopo che PHP ha già iniziato a trasmettere il corpo della risposta HTTP a causa di caratteri di spaziatura (BOM, spazi) o echo prematuro prima del tag `<?php`.
molto comuneDiagnosi
Diagnostica PHP per PHP: Warning — Cannot modify header information (headers already sent)
Esaminare i log degli errori di PHP nel file specificato da error_log in php.ini o nei log di PHP-FPM /var/log/php-fpm/www-error.log.
Come leggere il risultato. Mostra lo stack trace completo dell'errore, file e numero di riga esatti in cui è avvenuto il blocco.
tail -n 50 /var/log/nginx/error.logRisoluzione
Procedura di risoluzione per PHP: Warning — Cannot modify header information (headers already sent)
Applicare la correzione al codice PHP o alla configurazione del php.ini secondo le specifiche ufficiali.
- Verificare la riga di codice segnalata nello stack trace
- Regolare i parametri in php.ini se l'errore deriva da limiti di sistema
- Riavviare il servizio PHP-FPM o Apache
sudo systemctl reload php-fpmDomande frequenti
Come risolvere il codice o errore E_WARNING in PHP?
Una funzione come `header()`, `setcookie()` o `session_start()` è stata chiamata dopo che PHP ha già iniziato a trasmettere il corpo della risposta HTTP a causa di caratteri di spaziatura (BOM, spazi) o echo prematuro prima del tag `<?php`.
Approfondimenti
- PHP Official Manual - Errors and Exceptions documentazione_ufficiale