最近、Web サイトの PHP バックエンドを作成していたときに、var_dump() を通じて setcookie 関数が常に Cookie を正常に設定できないことがわかりました。これは明らかに設定が間違っていることを意味していました。 Google で検索したところ、setcookie の失敗の原因は次のようなことがわかりました。
1.確認する必要はありません。無効になっていないと思います。
2. php の setcookie() を使用して cookie を作成することは、php でセッションを開くための session_start() と同じです。 setcookie() の前に HTTP ヘッダーを出力することはできません。コードをチェックしたところ、次のコード
var_dump($qOpenId); setcookie('qOpenId',$openid,time() + 30 * 24 * 3600,'/');
が var_dump($OpenId) 行を決定的にコメントしていることがわかり、テストは成功しました。
個人的には、setcookie は http ヘッダーの内容を直接設定する必要があると思います。そのため、ヘッダー出力、var_dump、echo などはあり得ません
関連記事: