ホームページ  >  記事  >  バックエンド開発  >  thinkphp で無効なセッションと Cookie の問題を解決する方法

thinkphp で無効なセッションと Cookie の問題を解決する方法

不言
不言オリジナル
2018-06-11 10:09:082305ブラウズ

この記事では、thinkphp の無効なセッションと Cookie の解決方法を中心に、BOM ヘッダーの分析と削除方法を紹介します。必要な方は、この記事の例を参照してください。 thinkphp での無効なセッションと Cookie の解決策について説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです。

問題の説明:

ローカルでデバッグする場合、セッションと Cookie に問題はありません。現在の情報を保存するためにセッションを使用します。アカウントにログインしてアップロードした後、ジャンプ後にセッションが存在していないことがわかりました。なぜでしょうか。現在のページにある出力セッションは存在します。

私は独学なので、アドバイスを求める先生も周りにもいません。 PHP を実行しているので、それは本当に悲劇的です...Baidu と Baidu 上の多くの人がナンセンスなことを話しており、問題を解決できるものは何もありません。3 日間の修正を経て、最終的に根本原因が判明しました。 thinkphp をサポートするサーバーの大部分は Linux システムであり、私たちのプログラミングは基本的に Windows と同じです。これにより BOM ヘッダーの問題が発生し、PHP は BOM ヘッダーを解析できず、BOM ヘッダーを直接削除するため、セッションと Cookie が失われます。

解決策:

BOM とは何ですか? UTF-8 でエンコードされたファイルでは、BOM はファイルのヘッダーにあり、3 バイトを占めます。これは、ファイルが UTF-8 エンコードに属していることを示すために使用されます。現在、BOM ヘッダーを認識するソフトウェアは数多くありますが、 BOM ヘッダーを認識できないものもあります (PHP など)。このため、メモ帳で UTF-8 エンコードを編集するとエラーが発生します。

BOM を削除する簡単な方法。 header は次の 2 つです:

1 、BOM ヘッダーを削除する Editplus メソッド

エディターが UTF8 エンコード形式に調整されると、隠し文字の文字列 (つまり、BOM) が表示されます。これは、ファイルが UTF8 でエンコードされているかどうかを識別するためにエディターによって使用されます。

Editplus を実行し、[ツール] をクリックし、[環境設定] を選択し、ファイルを選択して、常に削除する UTF-8 識別を選択します。 .

2. BOM ヘッダーを削除する Ultraedit メソッド

ファイルを開いた後、[名前を付けて保存] オプションでエンコード形式を選択します ( BOM ヘッダーのない utf-8) を確認したら、それを削除してみてはいかがでしょうか。

utf8 の BOM 情報について説明します。 PHP ファイル自体は BOM 付きの UTF-8 です。通常のページの中国語文字化けは、通常はこの理由によるものではありません。

header("Content-type: text/html; charset=utf-8");

この文は次のとおりです。 HTML 出力ページのエンコード方法を制御します。BOM は、WINDOWS の「メモ帳」を使用して UTF-8 としてのみ保存されます。WINHEX を使用して最初の 2 バイトを削除できます。

エンコード設定で。 Dreamweaver では、BOM を含めるかどうかを設定できます。通常、PHP の出力が画像 (GDI ストリーム) でない限り、GDI ストリームの先頭に余分な文字があると問題が発生します。

上記がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。

関連する推奨事項:

thinkPHP5.0 フレームワーク構成スコープ メソッド

thinkPHP5 フレームワーク カスタム バリデーターの実装


以上がthinkphp で無効なセッションと Cookie の問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。