Maison  >  Article  >  cadre php  >  ThinkPHP implémente la méthode de stockage de SESSION dans MYSQL

ThinkPHP implémente la méthode de stockage de SESSION dans MYSQL

高洛峰
高洛峰original
2016-12-22 10:36:412652parcourir

ThinkPHP implémente la méthode de stockage de SESSION dans MYSQL

Tout d'abord, le fichier index.php est défini sur :

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

et le config.php est défini sur :

<?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;, //必须设置成这样,如果不加前缀就找不到数据表,这个需要注意
);
?>

Le le paramètre de base de données utilise SessionDb DDL dans .class.php, mais a ajouté ENGINE=MyISAM DEFAULT CHARSET=utf8

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;

Maintenant, visitez votre index.php puis recherchez la table think_session dans phpmyadmin, nous serons surpris de trouver plus de données.
Ce problème est résolu. Ne définissez rien d'autre, SessionDb.class.php sera chargé automatiquement

De cette façon, lorsque ThinkPHP appellera

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

le système stockera automatiquement cette session dans la base de données créée ci-dessus. .

Articles connexes recommandés : La collection la plus complète de questions d'entretien js en 2020 (dernière)

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:AucunArticle suivant:thinkphp是什么