I'm trying to use DbTableGateway to store my session information in a MySQL database--but my "sessions" table is remaining empty. It never contains any rows. Here's my code (more or less copy/pasted from here):
$dbAdapter = new Zend\Db\Adapter\Adapter(array( 'driver' => 'pdo_mysql', 'database' => 'db-name', 'username' => 'username', 'password' => 'password!' )); $tableGateway = new \Zend\Db\TableGateway\TableGateway('session', $dbAdapter); $saveHandler = new \Zend\Session\SaveHandler\DbTableGateway($tableGateway, new \Zend\Session\SaveHandler\DbTableGatewayOptions()); $manager = new \Zend\Session\SessionManager(); $manager->setSaveHandler($saveHandler); $someContainer = new Container('SomeSessionNamespace'); $someContainer->aBitOfData = 'tasty morsel of data'; And here's a video demonstration of me using this code: http://screencast.com/t/UDDUs6OZOib
As you can see in the video, session information is preserved between requests, but it's not being stored in the database.
I added breakpoints to every function in Zend\Session\SaveHandler\DbTableGateway, and the only one that's getting hit is in __constructor. So the constructor is getting called, but apparently it never gets used for anything else.
What am I missing?
I'm using Zend Framework 2.2.2 on PHP 5.3.
-Josh