Heim  >  Artikel  >  PHP-Framework  >  ThinkPHP implementiert die Methode zum Speichern von SESSION in MYSQL

ThinkPHP implementiert die Methode zum Speichern von SESSION in MYSQL

高洛峰
高洛峰Original
2016-12-22 10:36:412603Durchsuche

ThinkPHP implementiert die Methode zum Speichern von SESSION in MYSQL

Zunächst wird die index.php auf

<?php
define(&#39;APP_DEBUG&#39;, true);//设置为调试模式
require &#39;../ThinkPHP/ThinkPHP.php&#39;;//设置入口文件
ini_set("session.save_handler", "user");//设置PHP的SESSION由用户定义

und die config.php auf

<?php
return array(//&#39;配置项&#39;=>&#39;配置值&#39;
      // 添加数据库配置信
  &#39;SHOW_PAGE_TRACE&#39; =>true,
  &#39;DB_TYPE&#39;  => &#39;mysql&#39;, // 数据库类型
  &#39;DB_HOST&#39;  => &#39;localhost&#39;, // 服务器地址
  &#39;DB_NAME&#39;  => &#39;thinkphp&#39;, // 数据库名
  &#39;DB_USER&#39;  => &#39;你的用户名&#39;, // 用户名
  &#39;DB_PWD&#39;  => &#39;你的密码&#39;, // 密码
  &#39;DB_PORT&#39;  => 3306, // 端口
  &#39;DB_PREFIX&#39; => &#39;think_&#39;, // 数据库表前缀缀
&#39;SESSION_OPTIONS&#39;=>array(
    &#39;type&#39;=> &#39;db&#39;,//session采用数据库保存
    &#39;expire&#39;=>1440,//session过期时间,如果不设就是php.ini中设置的默认值
  ),
&#39;SESSION_TABLE&#39;=>&#39;think_session&#39;, //必须设置成这样,如果不加前缀就找不到数据表,这个需要注意
);
?>

gesetzt Die Datenbankeinstellung verwendet SessionDb DDL in .class.php, fügte jedoch ENGINE=MyISAM DEFAULT CHARSET=utf8 hinzu.

CREATE TABLE think_session (
    session_id varchar(255) NOT NULL,
    session_expire int(11) NOT NULL,
    session_data blob,
    UNIQUE KEY `session_id` (`session_id`)
  )ENGINE=MyISAM DEFAULT CHARSET=utf8;

Besuchen Sie nun Ihre index.php und suchen Sie dann die think_session-Tabelle in phpmyadmin. Wir werden überrascht sein, sie zu finden mehr Daten.
Dieses Problem ist gelöst. Legen Sie nichts anderes fest, SessionDb.class.php wird automatisch geladen

Auf diese Weise speichert das System diese Sitzung automatisch in der oben erstellten Datenbank, wenn ThinkPHP

session(&#39;session_name&#39;,&#39;session_value&#39;)

aufruft .

Empfohlene verwandte Artikel: Die umfassendste Sammlung von js-Interviewfragen im Jahr 2020 (aktuell)

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:KeinerNächster Artikel:thinkphp是什么