Download the PHP package 1ff/laravel-mongodb-session without Composer
On this page you can find all versions of the php package 1ff/laravel-mongodb-session. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download 1ff/laravel-mongodb-session
More information about 1ff/laravel-mongodb-session
Files in 1ff/laravel-mongodb-session
Package laravel-mongodb-session
Short Description A mongodb session driver for laravel
License MIT
Informations about the package laravel-mongodb-session
Laravel Mongodb Session driver
A MongoDB session driver for Laravel
Laravel Version |
Package Version |
Install using this command |
---|---|---|
12.x | 7.x.x | composer require 1ff/laravel-mongodb-session:^7.0 |
11.x | 6.x.x | composer require 1ff/laravel-mongodb-session:^6.0 |
10.x | 5.x.x | composer require 1ff/laravel-mongodb-session:^5.0 |
9.x | 4.x.x | composer require 1ff/laravel-mongodb-session:^4.0 |
8.x | 3.x.x | composer require 1ff/laravel-mongodb-session:^3.0 |
7.x | 2.x.x | composer require 1ff/laravel-mongodb-session:^2.0 |
5.x.x, 6.x | 1.x.x | composer require 1ff/laravel-mongodb-session:^1.0 |
Installation
Install using composer:
composer require 1ff/laravel-mongodb-session
Change the connection in config/session.php
to the name of the mongo connection from your config/database.php
config
'connection' => 'mongodb',
Update your .env file and change the SESSION_DRIVER
to mongodb
SESSION_DRIVER=mongodb
Advantages
- This driver uses the MongoDB TTL indexes meaning when a session key expires it will be automatically deleted. So no need for garbage collection implementation.
- This way, the collection's size will remain around the size you expect and won't get falsely filled with unused data.
- The package automatically adds a migration which creates the index. If you change the name of the
session.table
you should rerun the ttl index creation commandphp artisan mongodb:session:index
.
Enjoy!
Testing
This package includes a comprehensive test suite to ensure the MongoDB session handler works correctly. The tests cover:
- Basic session operations (read, write, destroy)
- Integration with Laravel's session system
- HTTP session functionality
- Laravel's testing helpers integration
Running the Tests
To run the tests, follow these steps:
- Make sure MongoDB is installed and running on your system
-
Install the package dependencies with Composer:
- Run the tests with PHPUnit:
Continuous Integration
The package includes a GitHub Actions workflow that automatically runs tests on PHP 8.1 with Laravel 10.x against MongoDB 7. The workflow:
- Sets up a MongoDB service container
- Installs PHP with MongoDB extension
- Caches Composer dependencies for faster builds
- Runs the test suite
This ensures all tests pass before merging new changes.
Expected Test Results
When all tests are passing, you should see output similar to:
Testing Environments
The tests are compatible with:
- PHP 8.1+
- Laravel 10.x
- MongoDB 4.0+
Test Coverage
- Unit Tests: These test the
MongoDbSessionHandler
methods directly (open, close, read, write, destroy, gc) - Feature Tests: These test the integration with Laravel's session functionality
- HTTP Tests: These test session handling in HTTP requests and session persistence
- Laravel Helper Tests: These test integration with Laravel's testing helpers like
withSession
andflushSession
If you encounter any issues with the tests, please submit an issue on the GitHub repository.
All versions of laravel-mongodb-session with dependencies
illuminate/session Version ^12.0
mongodb/laravel-mongodb Version ^5.0
ext-mongodb Version *