私は 2 つの「ドメイン」にまたがってローカルで作業しています。マシンに enterprise.local および application.local 仮想ホストがあり、「local」または「.local」のドメイン Cookie を設定する必要がありますが、Cookie を適切に設定するのに問題があります。application.local には、次のようなものがあります。
setcookie( 'iPlanetDirectoryPro', trim( $token_id ), '0', '/', '.local' );
header( 'Location: /adcom-sso' );
私もこれを試しました:
header( 'Set-Cookie: iPlanetDirectoryPro=' . trim( $token_id ) . '; path=/' );
header( 'Location: /adcom-sso' );
を使用するsetcookie()
と、Cookie は設定されません。ヘッダーを使用してSet-Cookie
、Cookieが設定されます。両方からリダイレクトを削除しましたが、結果は変わりません。では機能しますSet-Cookie
が、では機能しませんsetcookie()
。どのソリューションを使用するかはあまり好みではないので、それで問題ありませんが、Set-Cookie
ソリューションでは、ドメインを追加するとすぐにすべてが壊れます。
header( 'Set-Cookie: iPlanetDirectoryPro=' . trim( $token_id ) . '; path=/; domain=local' );
ドメイン値を追加するとすぐに、ヘッダー エラーが発生します。
Header may not contain more than a single header, new line detected.
ドメイン値を「local」および「.local」として試しました。挙動は変わりません。
明示的に Cookie にアクセスする必要はめったにないので、明らかな何かが欠けていることを願っていますが、確かにそれはわかりません。どんな洞察も大歓迎です。
更新:これをもう少し絞り込んだと思います。ドメイン値を含めない限り、どちらの方法でも機能するようです。Cookie の特定のドメインとして "local" または ".local" を使用すると問題が発生する可能性はありますか?