Cet article présente principalement la solution aux sessions invalides et aux cookies dans thinkphp, impliquant la méthode d'analyse et de suppression de l'en-tête de la nomenclature. Il a une certaine valeur de référence. Les amis qui en ont besoin peuvent se référer à l'exemple de cet article
Décrit la solution aux sessions et cookies invalides dans thinkphp. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :Description du problème :
Il n'y a aucun problème avec la session et le cookie lors du débogage local. J'utilise la session pour enregistrer les informations du courant. connectez-vous au compte et téléchargez-le. Après être allé sur le serveur, j'ai constaté que la session n'existait plus après le saut. Pourquoi ? La session de sortie sur la page actuelle existe. Je rencontre ce problème depuis trois jours Parce que je suis autodidacte, il n'y a pas de professeur pour demander conseil, et il n'y a pas beaucoup de gens autour de moi qui le sont. bon en PHP, donc c'est vraiment tragique, alors... Baidu, et beaucoup de gens sur Baidu disent des bêtises, et il n'y a rien qui puisse résoudre le problème. Après trois jours de modification, j'ai finalement trouvé la cause profonde. Si la majorité des serveurs prenant en charge thinkphp sont des systèmes Linux et que notre programmation est fondamentalement la même que celle de Windows, cela entraînera un problème d'en-tête de nomenclature, et PHP ne pourra pas analyser l'en-tête de nomenclature, mais le supprimera directement, provoquant ainsi la session et les cookies. devenir inutilisable.Solution :
Qu'est-ce qu'un bom ? Dans un fichier codé en UTF-8, la nomenclature se trouve dans l'en-tête du fichier, occupant trois octets, ce qui est utilisé pour indiquer que le fichier appartient au codage UTF-8. Il existe désormais de nombreux logiciels qui reconnaissent l'en-tête de la nomenclature, mais là. Il y en a encore qui ne peuvent pas reconnaître l'en-tête de la nomenclature, comme PHP. L'en-tête de la nomenclature ne peut pas être reconnu, c'est pourquoi une erreur se produit après la modification de l'encodage UTF-8 avec le Bloc-notes. Il existe deux manières simples de supprimer le. En-tête de nomenclature : 1, Comment supprimer l'en-tête de nomenclature avec editplus Une fois l'éditeur ajusté au format d'encodage UTF8, il y aura une chaîne de caractères cachés (c'est-à-dire BOM) devant du fichier enregistré, qui est utilisé par l'éditeur pour identifier si le fichier est encodé en UTF8 Exécutez Editplus, cliquez sur Outils, sélectionnez Préférences, sélectionnez le fichier, sélectionnez Identification UTF-8 pour toujours supprimer la signature. , puis modifiez et enregistrez le fichier PHP sans BOM .2. Méthode Ultraedit pour supprimer l'en-tête de la BOM Après avoir ouvert le fichier, sélectionnez le format d'encodage dans l'option Enregistrer sous (utf-). 8 sans en-tête BOM), confirmez et tout ira bien. Que diriez-vous de le supprimer ? L'en-tête bom est très simple Parlons des informations BOM de utf8. lui-même en UTF-8 avec BOM La manière chinoise tronquée des pages ordinaires n'est généralement pas causée par cette raison.header("Content-type: text/html; charset=utf-8");
Comment configurer la portée dans le framework thinkPHP5.0
Implémentation d'un validateur personnalisé dans le framework thinkPHP5
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!