Erreur PHP - Warning: headers already sent

Problème

Warning: session_start(): Cannot start session when headers already sent in C:\xampp\htdocs\Sessions\erreur.php on line 3

Solution possible

Cette erreur est dûe à l'envoi de contenu avant le session_start.

Par exemple, le code ci-dessous renverra cette erreur


<?php
session_start();

var_dump($_SESSION);

La raison : une simple ligne vide avant d'ouvrir PHP renvoie du HTML.

A noter : dans la plupart des serveurs de développement, cette erreur ne se produira pas en raison de la présence d'un buffer d'envoi de données. Ce buffer retarde l'envoi du HTML et masque donc ce problème.

La ligne ci-dessous dans php.ini permet de configurer ce buffer

output_buffering=4096

Si vous commentez cette ligne, vous provoquerez le problème.

Dans Erreur PHP - Warning: headers already sent par Benoit le 30 juil. 2020 à 15:44:30