ホームページ >php教程 >PHP开发 >thinkphp での無効なセッションと Cookie の解決策

thinkphp での無効なセッションと Cookie の解決策

高洛峰
高洛峰オリジナル
2016-12-22 10:22:361597ブラウズ

この記事の例では、thinkphp での無効なセッションと Cookie の解決策について説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです:

問題の説明:

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

私は独学なのでアドバイスを求める先生もいないし、周りにPHPをやっている人も多くないので、この問題に遭遇しました。これは本当に悲劇的なことで、インターネット上の多くの人がばかばかしいことを話しており、3日間の修正を経て、最終的にほとんどのサーバーの根本原因が判明しました。 thinkphp をサポートするシステムは Linux システムであり、私たちのプログラミングは基本的に Windows であるため、bom ヘッダーの問題が発生し、PHP は bom ヘッダーを解析できずに直接削除してしまい、セッションと Cookie が使用できなくなります。 bomヘッダーとは何ですか? UTF-8 でエンコードされたファイルでは、BOM はファイルのヘッダーにあり、3 バイトを占めます。これは、ファイルが UTF-8 エンコードに属していることを示すために使用されます。現在、BOM ヘッダーを認識するソフトウェアは数多くありますが、 PHP など、BOM ヘッダーを認識できないものもまだあります。メモ帳で UTF-8 エンコードを編集するとエラーが発生します。BOM ヘッダーを削除する簡単な方法は次の 2 つです。 :

1. editplus で BOM ヘッダーを削除する方法

エディターを UTF8 エンコード形式に調整すると、保存されたファイルの前に隠し文字列 (つまり、BOM) が表示されます。エディターでファイルが UTF8 でエンコードされているかどうかを確認します。

Editplus を実行し、[ツール]、[環境設定を選択] の順にクリックし、ファイルを選択して、常に署名を削除するように UTF-8 識別を選択し、PHP ファイルを編集して保存します。ファイルには BOM がありません

2. Ultraedit で BOM ヘッダーを削除する方法

ファイルを開いた後、[名前を付けて保存] オプションでエンコード形式 (BOM ヘッダーなしの utf-8) を選択し、確認すれば問題ありません。どうですか、BOM ヘッダーを削除するのは非常に簡単です

utf8 の BOM 情報について説明します。BOM は、BOM を使用した UTF-8 形式です。通常、この理由によるものではありません。

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

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

Dreamweaver のエンコード設定では、BOM を含めるかどうかを設定できます。通常、php の出力が画像 (GDI ストリーム) でない限り、BOM は含められません。 GDI ストリームの先頭に余分な文字がある場合、赤いバツ印で表示されます

この記事が、ThinkPHP フレームワークに基づいた PHP プログラミングに役立つことを願っています。

thinkphp の無効なセッションと Cookie の解決策に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

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