PHP setcookie が無効になる原因の分析
PHP 開発において、ローカルでの開発やテストでは正常に動作することがあるのですが、最近、サーバー環境にアップロードすると正常に動作しないことがあります。 setcookie はローカルの PHP 開発環境では正常ですが、サーバーでは setcookie が無効であるという問題が発生しました。注意深く調査した結果、php setcookie が無効である理由はおそらく次の 3 つであると結論付けました。
この場合は、ソース コードをコピーし、新しいファイルを作成して保存します。
ファイルに BOM コードが含まれているかどうかを確認する方法については、このサイトの記事を参照してください: php BOM 削除ツール、PHP バッチ BOM コード削除
設定関連の情報はインターネットで検索できます。
header() 関数はファイルヘッダーをただし、この関数を使用する場合、以前に出力 (スペース、復帰、改行などの空の出力を含む) がある場合、エラーが表示されます。通常の状況では、先行するスペースをクリアするだけです。それでもうまくいかない場合は、次のようにすることができます: ページの先頭に追加します:
ob_start();//ブラウザのキャッシュを制御し、setcookie コードの前に追加します。通常はこれを追加します。ページの先頭
ob_get_clean();// ブラウザのキャッシュを出力して、結果に Cookie があるかどうかを確認します。通常はページの最後にある setcookie コードの後に追加します。