この記事の例では、thinkphp での無効なセッションと Cookie の解決策について説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです:
問題の説明:
ローカルでデバッグする場合、セッションと Cookie に問題はありません。セッションを使用してサーバーにアップロードした後、ジャンプ後にセッションが存在しないことがわかります。現在のページに出力セッションが存在します。
私は3日間この問題に遭遇しています。私は独学なのでアドバイスを求める先生もいませんし、私の周りにはPHPが得意な人があまりいないので、本当に悲惨なので、向きを変えました。 Baidu の多くの人がばかげた話をしていますが、3 日間の修正を経て、最終的に、thinkphp をサポートしているサーバーの大部分が Linux システムであることがわかりました。基本的にWindowsなのでギミックの問題が出てきますし、PHPは向いていません。 BOMヘッダーが解析できずに直接削除されてしまい、セッションやCookieが使用できなくなります
解決策:
ボムとは何ですか? UTF-8 でエンコードされたファイルでは、BOM はファイルのヘッダーにあり、3 バイトを占めます。これは、ファイルが UTF-8 エンコードに属していることを示すために使用されます。現在、BOM ヘッダーを認識するソフトウェアは数多くありますが、 BOM ヘッダーを認識できないものもあります (PHP など)。BOM ヘッダーを認識できないため、メモ帳で UTF-8 エンコードを編集するとエラーが発生します。
bom を削除するには 2 つの簡単な方法があります:
1. editplusでBOMヘッダーを削除する方法
エディターが UTF8 エンコード形式に調整されると、保存されたファイルの前に隠し文字の文字列 (つまり、BOM) が表示されます。これは、ファイルが UTF8 でエンコードされているかどうかをエディターが識別するために使用されます。
Editplus を実行し、[ツール] をクリックして、[設定] を選択し、ファイルを選択して、[UTF-8 識別] を選択します。必ず署名を削除してから、PHP ファイルを編集して保存します。
2. Bom を削除する Ultraedit メソッド
ファイルを開いた後、[名前を付けて保存]オプションでエンコード形式(BOMヘッダーなしのutf-8)を選択し、確認すればOKです。どうですか、BOMヘッダーを削除するのは非常に簡単です。
utf8 の BOM 情報についてもう一度話しましょう。BOM とは、PHP ファイル自体を BOM 付きの UTF-8 として保存する方法を指します。通常のページの中国語文字化けは、通常、この理由によって引き起こされるものではありません。
Dreamweaver のエンコード設定では、PHP の出力が画像 (GDI ストリーム) でない限り、BOM に余分な文字が含まれていても問題は発生しません。最初は赤十字で表示されます
この記事が皆さんの ThinkPHP フレームワークに基づく PHP プログラムの設計に役立つことを願っています。
http://www.bkjia.com/PHPjc/930187.html