This library automatically starts Zebra sessions (database powered sessions) wherever vendor/autoload.php is included. It can be useful if you need to add database powered sessions to a bespoke PHP application that lacks an existing framework.
-
Run
composer require rapidwebltd/zebra-session-loader. -
Create a
session_datatable in your MySQL database to hold session data. You can use the SQL below to do this.
CREATE TABLE `session_data` (
`session_id` varchar(32) NOT NULL default '',
`hash` varchar(32) NOT NULL default '',
`session_data` blob NOT NULL,
`session_expire` int(11) NOT NULL default '0',
PRIMARY KEY (`session_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;Add the following to your .env file, changing the database connection details to point at the database containing your session_data table.
You should also ensure the security code is changed to a random string.
ZEBRA_SESSION_SECURITY_CODE=random_string_of_chars_og4bf42kh07odgh20gjwe
ZEBRA_SESSION_DATABASE_CONNECTION_NAME=main
DCOM_MAIN_OBJECT_TYPE=mysqli # Must be a mysqli object
DCOM_MAIN_DATABASE_TYPE=mysql
DCOM_MAIN_DATABASE_HOST=localhost
DCOM_MAIN_DATABASE_USERNAME=root
DCOM_MAIN_DATABASE_PASSWORD=password
DCOM_MAIN_DATABASE_NAME=dbname
Now any page that includes vendor/autoload.php will automatically use database powered sessions, provided by Zebra sessions.
Archived package: This package starts database sessions as a Composer autoload side effect and depends on obsolete database/bootstrap packages. It is no longer maintained. Configure PHP sessions explicitly, or use the database session driver provided by your framework.