Yii2 中的会话文件存储在哪里?

Where is session files stored in Yii2?

Yii2 中会话文件存储在哪里?我需要知道确切的位置。有创建会话数据库的选项。

Yii2 默认将会话文件存储在 @app/runtime/data 文件夹中。

如果您想改用数据库,那么 yii2 指南是很好的资源。检查此 link:https://www.yiiframework.com/doc/guide/2.0/en/runtime-sessions-cookies#custom-session-storage.

默认会话保存路径为'/tmp'link
此路径可通过会话 class file(yii2)

中的 getSavePath() 方法访问
  • @property string $savePath The current session save path, defaults to '/tmp'.

例如,在xampp软件(本地主机)中转到以下文件夹(默认)

myDrive:\xampp\tmp  // The drive where the software is installed

默认通过session_save_path方式获取。这取决于 php.ini 文件的设置。在 session.save_path="...\tmp" 不过也可以通过.htaccess文件

配置

要调整Yii2,您可以执行以下操作。 In the config web file

'components' => [
    'session' => [
        'name' => '_Session',
        'savePath' => dirname(__DIR__) .'/sessions'
    ],

保存到数据库(yii\web\DbSession)参考这个link.
示例:

    'session' => [
        'class' => 'yii\web\DbSession',
        'name' => 'mySession',
        // 'db' => 'mydb',  // the application component ID of the DB connection. Defaults to 'db'.
        // 'sessionTable' => 'my_session', // session table name. Defaults to 'session'.
        'timeout' => 30 * 24 * 3600,
        'cookieParams' => ['httponly' => true, 'lifetime' => 3600 * 24],
        'writeCallback' => function ($session) {
            return [
                // 'user_id' => Yii::$app->user->id,
                // 'last_write' => time(),
            ];
        },
    ],

writeCallback: 在数据库中创建更多的数据和列table

祝你好运