In questa breve guida di Chicche di PHP vi spiegherò come risolvere l’errore “Cannot send session cache limiter – headers already sent“, quando nonostante avete cercato su Google e le uniche risposte che avete trovato erano “Inserire il session_start() prima di ogni altra riga di codice” e voi nonostante lo abbiate fatto non siete riusciti a risolvere il problema.
Possibili cause dell’errore PHP “Cannot send session cache limiter – headers already sent“:
- Avete scritto la stringa dopo qualche altra riga di codice e non a “Inizio pagina”
- Non avete considerato la formattazione del testo del File PHP
Avete capito bene, infatti se non riuscite a risolvere con la soluzione già specificata tutto ciò che dovrete fare sarà convertire tutto il testo del File PHP in UTF-8 senza BOM.
Di solito questo errore viene generato in quanto senza la formattazione specificata viene generato dinamicamente un “</br>” a inizio pagina.
Ecco un codice di esempio errato:
<html>
<?php
session_start();
?>
...
Ecco un codice di esempio corretto:
<?php
session_start();
?>
<html>
...
Curiosità: In alcune versioni di PHP meno recenti questo avviso viene tralasciato e non viene mostrato alcun messaggio di errore.
Per ricevere maggiori chiarimenti riguardo la funzione e gli utilizzi di session_start() fare riferimento al Manuale PHP – session_start() .
Marco Ingraiti
Latest posts by Marco Ingraiti (see all)
- Come fidelizzare un cliente? le esatte strategie - 3 dicembre 2015
- Quanto costa aprire un e-Commerce? - 27 ottobre 2015
- Aumentare il traffico verso Siti Web tramite Facebook - 20 giugno 2015