ホームページ  >  記事  >  バックエンド開発  >  PHP setcookie が無効な理由の分析

PHP setcookie が無効な理由の分析

WBOY
WBOYオリジナル
2016-06-20 13:01:434963ブラウズ

PHP setcookie が無効になる原因の分析

PHP 開発において、ローカルでの開発やテストでは正常に動作することがあるのですが、最近、サーバー環境にアップロードすると正常に動作しないことがあります。 setcookie はローカルの PHP 開発環境では正常ですが、サーバーでは setcookie が無効であるという問題が発生しました。注意深く調査した結果、php setcookie が無効である理由はおそらく次の 3 つであると結論付けました。

1. プログラム ファイルに BOM コードが含まれています

この場合は、ソース コードをコピーし、新しいファイルを作成して保存します。

ファイルに BOM コードが含まれているかどうかを確認する方法については、このサイトの記事を参照してください: php BOM 削除ツール、PHP バッチ BOM コード削除

2. 該当する Cookie を確認します。 PHP.ini の設定

設定関連の情報はインターネットで検索できます。

3. header() 関数が PHP コードで使用されており、ヘッダーの前にスペースまたは改行があります。

header() 関数はファイルヘッダーをただし、この関数を使用する場合、以前に出力 (スペース、復帰、改行などの空の出力を含む) がある場合、エラーが表示されます。通常の状況では、先行するスペースをクリアするだけです。それでもうまくいかない場合は、次のようにすることができます: ページの先頭に追加します:

ob_start();//ブラウザのキャッシュを制御し、setcookie コードの前に追加します。通常はこれを追加します。ページの先頭
ob_get_clean();// ブラウザのキャッシュを出力して、結果に Cookie があるかどうかを確認します。通常はページの最後にある setcookie コードの後に​​追加します。

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