WordPress: vediamo come risolvere l’errore cannot modify headers information: Headers_already_sent in pochi semplici passi.
Come si presenta e da cosa è dovuto
Warning: Cannot modify header information - headers already sent by (output started at
Molto spesso è dovuto a una codifica errata del file php oppure alla presenza di caratteri o spazi prima o dopo i tag di chiusura e apertura di php.
Come risolvere l’errore
- Scarica il file menzionato nell’error_log o nel messaggio di errore
- Apri con un’editor di testo o HTML (No word, No editor visuali)
- Controlla che non ci siano caratteri o spazi prima dell’inizio del tag <?php
- Controlla che il file finisca con ?> senza ulteriori caratteri o spazi a seguire.
- Prima di salvare, assicurati che l’encoding NON sia UTF-8 BOM ma semplicemente UTF-8 senza il suffisso BOM. Se è presente il suffisso salva con nome e ri-codifica il file.
Ancora problemi? Ecco un fix “brutale”
Aprite il file incriminato (che appare nella prima parentesi ) nell’esempio sotto riportato – ad esempio – aprite il functions.php
es.Warning: Cannot modify header information – headers already sent by (output started at /home/tema/functions.php:587) in /home/tema/public_html/wp-login.php on line 376
Posizionare in alto e all’inizio del file:
<?php ob_start(); ?>
Dovrebbe risolvere 😉
Questo articolo ti è stato utile? Condividilo sui tuoi social network preferiti!
Immagine “internet” disponibile su shutterstock
Purtroppo ho provato con tutti i metodi ma non ha funzionato…
Quando inserisco la sequenza che mi suggerisci all’inizio del file e provo a fare login al mio account wordpress mi reindirizza ad una pagina con il contenuto del file config.php
Ciao prova usando questo editor [http://www.vim.org/download.php] e apri il file (o i file) incriminati. Se trovi caratteri strani fai cleanup.
Se usi linux puoi benissimo usare sudo nano o sudo gedit (o in alternativa) installi vim [sudo apt-get vim]e usi direttamente vim anche lì 🙂
Ciao.
Stesso problema, provate tutte le alternative, anche vim ma nulla
Ha funzionato. Grazie ^_^
ob_start() per me ha funzionato ^_^
Grazie, funziona con
Funzionato con il fix “brutale”, grazie!
Ciao! Passando a PHP 7.2 avevo riscontrato l’errore “cannot modify headers information: Headers_already_sent”, errore che ho risolto con il tuo brutal fix. Il sito funziona correttamente, quindi apparentemente tutto ok.
Poi però ho provato ad accedere alla schermata di login WP, e una volta che inserisco user e pass di Admin e si apre una pagina bianca con scritto:
Fatal error: Uncaught Error: Call to a member function has_cap() on null in /homepages/13/d585548573/htdocs/…/wp-login.php:842 Stack trace: #0 {main} thrown in /homepages/13/d585548573/htdocs/…/wp-login.php on line 842
La linea ‘incriminata’ è questa:
elseif ( !$user->has_cap(‘edit_posts’) )
Non ho modificato i ruoli di Admin, né le password.
Riesci ad aiutarmi?
Grazie!
S.
Ciao, a prima vista non sembra trovare l’utente, sei sicuro di non avere hooks o plugin inerenti le autorizzazioni di WordPress?
In directory trovo questi plugin, ma non ricordo se fossero tutti attivi:
Askimet
cookie-notice
limit-login-attempts
sitelinks-search-box
tinymce-advanced
wordpress-seo
wp-to-top
Potrebbe essere limit-login-attempts? Dici che devo eliminarlo?
Ho provato a eliminare il plugin limit-login-attempts via ftp ma non è cambiato nulla 🙁
Meraviglioso, dopo due giorni di sbattere la testa ho risolto grazie alla vostra guida ….Farò certamente una donazione per sostenere il vostro lavoro. Grazie !!!!!!!!!!!!!!