• PHP マニュアル
  • 関数リファレンス
  • セッション関連
  • Sessions
  • セッション関数
  • session_abort
  • session_cache_expire
  • session_cache_limiter
  • session_commit
  • session_create_id
  • session_decode
  • session_destroy
  • session_encode
  • session_gc
  • session_get_cookie_params
  • session_id
  • session_module_name
  • session_name
  • session_regenerate_id
  • session_register_shutdown
  • session_reset
  • session_save_path
  • session_set_cookie_params
  • session_set_save_handler
  • session_start
  • session_status
  • session_unset
  • session_write_close
session_save_path
session_set_save_handler
セッション関数
PHP マニュアル

session_set_cookie_params

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

説明

bool session_set_cookie_params(
    int $lifetime_or_options,
    stringnull $path = null,
    stringnull $domain = null,
    boolnull $secure = null,
    boolnull $httponly = null
)

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

bool session_set_cookie_params(array $lifetime_or_options)

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

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

パラメータ

lifetime_or_options

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

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

path

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

domain

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

secure

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

httponly

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

戻り値

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

変更履歴

バージョン 説明
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_samesite
  • session_get_cookie_params