Skip to content

Session Driver Configuration Analyzer

Analyzer IDCategorySeverityTime To Fix
session-driver⚡ PerformanceCritical30 minutes

What This Checks

Validates that Laravel's session driver is appropriate for production scalability - Redis or database for multi-server setups, avoiding file-based sessions in load-balanced environments.

Why It Matters

  • Scalability: File sessions only work on single servers
  • Performance: Redis sessions are 10-100x faster than file/database
  • User Experience: Lost sessions cause unexpected logouts

File-based sessions store data locally. In load-balanced environments, users may be routed to different servers where their session doesn't exist, causing unexpected logouts.

How to Fix

Quick Fix (5 minutes)

bash
# Set Redis as session driver
# .env
SESSION_DRIVER=redis
REDIS_HOST=127.0.0.1

Proper Fix (30 minutes)

Install Redis:

bash
sudo apt-get install redis-server php-redis
php artisan session:table  # If using database

Configure:

ini
SESSION_DRIVER=redis
SESSION_LIFETIME=120
SESSION_ENCRYPT=false
SESSION_CONNECTION=default

ShieldCI Configuration

This analyzer is automatically skipped in CI environments ($runInCI = false).

Why skip in CI?

  • Session backends (Redis, database) may not be available or configured in CI pipelines
  • CI environments typically use the array or file session driver, which would trigger false warnings
  • Session driver choice is a deployment concern that doesn't need to be gated in CI

API-only / Stateless applications: This analyzer is also skipped for stateless applications — detected via middleware analysis. If your app has no session middleware registered, session driver checks do not apply.

When to run this analyzer:

  • Local development: Confirms your session driver matches your production setup
  • Staging/Production servers: Ensures a scalable driver (Redis, database) is configured for multi-server deployments
  • CI/CD pipelines: Skipped automatically (session backends typically unavailable)
  • API-only apps: Skipped automatically (no session middleware detected)

References