Comment faire pour résoudre “session_regenerate_id(): Ne peut pas se régénérer id de session - headers already sent”
Comme je l'a déplacé yii app à l'autre partagée d'accueil et que l'application a été de running ...index.le php?r=site/connectez vous avec les identifiants de connexion j'ai eu le warnig:
session_regenerate_id(): Cannot regenerate session id - headers already sent
la actionLogin
"s code:
public function actionLogin($name = null )
{
$model=new LoginForm;
if ($name) $model->username = $name;
if(isset($_POST['ajax']) && $_POST['ajax']==='login-form')
{
echo CActiveForm::validate($model);
Yii::app()->end();
}
if(isset($_POST['LoginForm']))
{
$model->attributes=$_POST['LoginForm'];
//validate user input and redirect to the previous page if valid
if (headers_sent($filename, $linenum))
{
echo "Headers have been sent in {$filename} line number is {$linenum}\n"
exit;
}
if($model->validate() && $model->login())
$this->redirect(Yii::app()->user->returnUrl);
}
//display the login form
$this->render('login',array('model'=>$model));
}
La documentation et les forums ont dit à propos de problème avec BOM. Pourtant dans mon notepad++ tous les fichiers sont enregistrés en tant que UTF-8 sans BOM.
Dois-je faire la spéciale de vérification des fichiers? Lesquels?
Ou il y a peut être une autre cause de l'erreur?
J'ai ajouté headers_sent($filename, $linenum)
fonction (voir dans le code ci-dessus) pour retracer l'envoyé d'en-têtes, mais sans résultat.
vous devez vérifier si vous avez accès en lecture/écriture à l'exécution et à tout fichier de cache de problème
OriginalL'auteur Igor Savinkin | 2013-10-07
Vous devez vous connecter pour publier un commentaire.
utilisation
au début du fichier.
Non, pas nécessaire...
OriginalL'auteur chandresh_cool
Généralement cette erreur survient lorsque nous envoyons tête à la suite d'écho ou d'impression. Si cette erreur survient sur une page spécifique, puis assurez-vous que la page n'est pas en écho à quelque chose avant d'appeler à start_session().
Exemple de l'Imprévisible Erreur:
Parfois, il dose pas d'importance dans votre localhost ordinateur, mais votre serveur distant.
OriginalL'auteur Biswadeep Sarkar
Faire l'utilisateur de ne pas vous en écho à quelque chose en fonction d'où vous êtes à l'aide de $model->connexion()
OriginalL'auteur Tarun Gupta
J'ai eu une ligne vide au début de main.php dans Yii Projet, en retirant qui a résolu le problème pour moi.
OriginalL'auteur
De Mon expérience surtout une erreur d'espaces blancs . Parfois, un espace avant
la balise d'ouverture php ou quelques fois un espace à la fin de votre fichier
après la clôture ?>
OriginalL'auteur Tom Freek
Dans mon cas, aussi une application Yii, la même erreur a été projeté lors de la connexion dans l'application web après le déploiement d'une nouvelle infrastructure. J'ai pu comparer les fichiers de configuration, entre l'ancien et le nouveau infrastructure et il s'avère que j'ai oublié d'activer le tampon de sortie dans php.ini sur le php-fpm conteneur.
Cette ancienne discussion sur le message d'erreur sur Yii les questions de conseil sur GitHub m'a donné l'astuce sur ce qu'il faut rechercher dans les fichiers de configuration.
Maintenant dans mon php.ini j'ai ce paramètre:
Espère que cela aide les autres aussi.
OriginalL'auteur rijam