• « session_save_path
  • session_set_save_handler »
  • PHP Manual
  • セッション関数
  • セッションクッキーパラメータを設定する

session_set_cookie_params

(PHP 4, PHP 5, PHP 7, PHP 8)

session_set_cookie_params — セッションクッキーパラメータを設定する

説明

function session_set_cookie_params(
    int $lifetime_or_options,
    ?string $path = null,
    ?string $domain = null,
    ?bool $secure = null,
    ?bool $httponly = null
): bool

PHP 7.3.0 以降で使える代替のシグネチャ:

function session_set_cookie_params(array $lifetime_or_options): bool

ファイル php.ini で定義されたクッキーパラメータを設定します。 この関数の効果が持続するのは、スクリプトの実行が終了するまでです。 したがって、リクエスト毎や session_start() がコールされる前に session_set_cookie_params() をコールする必要があります。

この関数は、PHP の ini 設定の値を実行時に上書きします。値の取得には ini_get() が使えます。

パラメータ

lifetime_or_options

最初のシグネチャを使う場合、セッションクッキーの 有効期限。秒数で定義します。

二番目のシグネチャを使う場合、 以下に示すキーを持つことができる連想配列です。 lifetime, path, domain, secure, httponly, partitioned および samesite. 対応する値は、キーと同じ名前のパラメータで説明されているものと同じ意味です。 samesite 要素の値は、 Lax または Strict になるはずです。 上記の許可されているオプションがいずれも設定されなかった場合、 デフォルト値は、明示的なパラメータのデフォルト値と同じです。 samesite 要素が省略されると、SameSite クッキー属性は設定されません。

path

クッキーが動作するドメイン上の パス。単一のスラッシュ ('/') を指定すると、ドメイン上のすべてのパスで動作します。

domain

クッキーの ドメイン。たとえば 'www.php.net'。 すべてのサブドメインでクッキーを有効にしたい場合は、先頭にドットをつけて '.php.net' のようにします。

secure

true の場合は、セキュア な接続の場合にのみクッキーを送信します。

httponly

true の場合は、PHP でセッションクッキーを設定する際に httponly フラグの送信を試みます。

戻り値

成功した場合に true を、失敗した場合に false を返します。

変更履歴

バージョン 説明
8.5.0 lifetime_or_options 配列に "partitioned" エントリが追加されました。 true を設定すると、クッキーが Partitioned (CHIPS) としてマークされます。
8.0.0 path, domain, secure, httponly は、 nullable になりました。
7.3.0 連想配列 lifetime_or_options をサポートする、 別のシグネチャが追加されました。 このシグネチャは、SameSite クッキー属性の設定もサポートします。
7.2.0 成功した場合に true を、失敗した場合に false を返します。 以前はこの関数は void を返していました。

参考

  • session.cookie_lifetime
  • session.cookie_path
  • session.cookie_domain
  • session.cookie_secure
  • session.cookie_httponly
  • session.cookie_partitioned
  • session.cookie_samesite
  • session_get_cookie_params() - セッションクッキーのパラメータを得る

↑ and ↓ to navigate • Enter to select • Esc to close • / to open