Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Menyimpan Sesi di Tabel DB Tidak Berfungsi (menggunakan Zend_Session_SaveHandler_DbTable)

Saya baru saja berhasil menjalankan ini:

Aplikasi saya.ini:

resources.db.isDefaultTableAdapter = true
resources.db.adapter = "pdo_mysql"
resources.db.params.host = "localhost"
resources.db.params.dbname = "dbname"
resources.db.params.username = "username"
resources.db.params.password = "password"

bootstrap.php saya:

protected function _initSession() {
    $resource = $this->getPluginResource('db');
    $dbAdapter = $db = $resource->getDbAdapter();
    Zend_Registry::set("db", $dbAdapter);
    Zend_Db_Table_Abstract::setDefaultAdapter($dbAdapter);
    $config = array(
        'name' => 'session',
        'primary' => 'id',
        'modifiedColumn' => 'modified',
        'dataColumn' => 'data',
        'lifetimeColumn' => 'lifetime',
        'db' => $dbAdapter
    );

    Zend_Session::setSaveHandler(new Zend_Session_SaveHandler_DbTable($config));
    Zend_Session::start();
}

Fungsi ini ditempatkan sebagai fungsi pertama di bootstrap.php, karena sesi dimulai, ketika Anda membuat objek Zend_Session_Namespace untuk pertama kalinya. Jika Anda melakukan ini, sebelum fungsi _initSession() dipanggil, sesi berbasis file standar dapat dimulai.

Terakhir, session.sql:

DROP TABLE IF EXISTS `session`;


CREATE TABLE `session` (

  `id` char(32) NOT NULL DEFAULT '',

  `modified` int(11) DEFAULT NULL,

  `lifetime` int(11) DEFAULT NULL,

  `data` text,

  PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Di suatu tempat saya membaca bahwa tabelnya pasti InnoDB.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Meningkatkan MySQL 5.5 ke 5.6 di Ubuntu 14.04

  2. Mengonversi tanggal karbon ke stempel waktu mysql.

  3. Bagaimana cara mengubah DB MySQL ke XML?

  4. Spring Boot JPA MySQL :Gagal menentukan kelas driver yang sesuai

  5. mysql while loop Break setara