LoginSignup
5
7

More than 3 years have passed since last update.

CakePHP3にてセッションタイムアウトの時間を変更する方法

Last updated at Posted at 2019-05-24

はじめに

CakePHP3にてセッションタイムアウト時間の変更方法についてまとめました

環境

CakePHP 3.5.17

TL;TD

  • config/app.phpのSessionにtimeoutを設定します
  • 設定しないと、php.iniの「gc_maxlifetime」の値となります

設定方法

  • Sessionにtimeoutの設定を追加する、単位は「分」
  • 以下は10分でタイムアウトするように設定しています
config/app.php

    'Session' => [
        'defaults' => 'php',
        'timeout' => 10
    ],

セッションの設定を追いかけてみた

  • timeoutを設定すると、gc_maxlifetimeを更新しているため、設定しないと、gc_maxlifetimeの設定値が有効になります
vendor/cakephp/cakephp/src/Network/Session.php
    public function __construct(array $config = [])
    {
        if (isset($config['timeout'])) {
            $config['ini']['session.gc_maxlifetime'] = 60 * $config['timeout'];
        }
    }
  • ちなみに、gc_maxlifetimeのデフォルトは以下となっています
    • session.gc_maxlifetime = 1440
    • 単位は秒なので、24分となります

まとめ

  • CakePHP3でセッションタイムアウトを変更したい方は参考にしてみてください

参考

PHP:実行時設定
Cookbook セッション

5
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
7