  You're browsing the documentation for an old version of SupportPal. Consider upgrading to the [latest version](https://docs.supportpal.com/current/Redis). 

# Session Configuration

The `session.php` file contains settings related to user and operator sessions. This document provides a list of configuration items available in the file, allowing you to modify them as necessary.

## Session Store

#### Available Session Stores

- File - (**Default**)
- Redis - sessions are stored in fast, cache based stores, requires Redis database to be configured.

  Create a new file `session.php` in the `/config/production` folder instead of updating the `session.php` found in the main `/config` folder, this will mean your configuration is not lost when you update your system. 

##### Redis

  Do not use the same redis database for both your cache and session driver! The configuration steps described in this documentation will ensure a separate database is configured for each driver. 

If you would like to store session data in Redis, please follow the below steps:

1. Make sure your PHP configuration doesn't have any `disable_functions` listed. You can check this via Utilities > PHP Information within the operator panel, but please also ensure your PHP CLI (cron) configuration also has the same setup.
2. Add your Redis connection information to `/config/production/database.php` (don't edit your MySQL configuration). To ensure a separate Redis database is created for sessions, please ensure the database parameter in the `'session'` array is unique:  /config/production/database.php  Expand  Collapse 
    
     ```
    
                <?php return array (
                  'connections' =>
                  array (
                    'mysql' =>
                    array (
                      ...
                    ),
                  ),
    
                  'redis' => [
                      'client' => 'predis',
                      'default' => [
                          'host'     => '192.168.1.150',
                          'port'     => 6379,
                          'database' => 0,
                      ],
                      'session' => [
                          'host'     => '192.168.1.150',
                          'port'     => 6379,
                          'database' => 1,
                      ]
                  ],
                );
            
    ```
3. Create or update `/config/production/session.php` ```
    
                <?php return [ 'driver' => 'redis', 'connection' => 'session', ];
            
    ```

## Configuration Items

For details on how to set the below configuration items, please create a `/config/production/session.php` file and read: [Updating Config Files](Updating+Config+Files).

   Name Description Valid Value(s)   `single_session` By default operators can be logged in on multiple devices at once, however you may want to let them only use one device at a time, logging them out of others immediately. If so, set this value to `true`.

  ```
true/false
```