勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

PHPにてメインドメイン⇔サブドメイン間でCookie及びSESSIONを共有する方法

  PHP

PHPにてメインドメインのサイトで発行したCookie及びSESSIONをサブドメインのサイトでも利用したい。以下に対応方法のメモ。

 

対応方法

Cookie

setcookie('test_cookie_key', 'test_cookie_val', time() + 3600, '/', '.test.com');

第四引数に「.(ドット)【メインドメイン名】」を指定しCookieを発行すると、サブドメインでも利用可能となる。

SESSION

php.iniもしくは.user.iniで以下を指定する。メインとサブドメインで設定ファイルが異なる場合はどちらも同じく以下を設定すること。

session.cookie_domain = '.test.com';

後は以下のようにSESSIONを発行するとサブドメインでも利用可能となる。

session_start();
$_SESSION['test_session_key'] = 'test_session_val';

 

参考サイト

https://zenn.dev/aipics/articles/64062dfa7890e7

https://web.analogstd.com/tips/posts/php/share-session-between-subdomains.php

 - PHP

  関連記事

PhpSpreadsheetでExcelファイルを読み込みPHPの配列として取り扱う方法
PhpSpreadsheetでExcelファイルを読み込みPHPの配列として取り扱う方法

formからCSVファイルをアップロードし、PHPの配列に格納後、データベース登 ...

PHPの配列でキーの最大値を取得
PHPの配列でキーの最大値を取得

PHPの配列でキーの最大値を取得したかった。以下で対応する。 $test = a ...

PHPでCSVファイル出力用の関数
PHPでCSVファイル出力用の関数

ここのところログ系をCSVファイル出力にするケースが多かった為、使いまわせるよう ...

PHPのheader関数で気になった点
PHPのheader関数で気になった点

結論としてページの移転の場合はexitか ページ自体を消した方がよさ下。 &nb ...

PHPで日時のフォーマットをISO 8601型とDateTime型を相互に変換する方法
PHPで日時のフォーマットをISO 8601型とDateTime型を相互に変換する方法

他社のAPI等のレスポンスで日時部分が「YYYY-MM-DDTHH:II:SSZ ...