正 文

PHP开发中session应用详解


www.7dspace.com  更新日期:2005-12-1 2:05:59  七度空间


  定制程序可以用mysql数据库或DBM文件保存session数据,视具体的情况而定。如果使用mysql作支持,那还需要进行以下的步骤:

  首先在mysql中创建一个sessions数据库,并且创建一个sessions表:

mysql> CREATE DATABASE sessions;
mysql> GRANT select, insert, update, delete ON sessions.* TO phpsession@localhost
  -> IDENTIFIED BY 'phpsession';
mysql> CREATE TABLE sessions (
  -> sesskey char(32) not null,
  -> expiry int(11) unsigned not null,
  -> value text not null,
  -> PRIMARY KEY (sesskey)
  -> );

  下一步,修改session_mysql.php文件的$SESS_DB* 变量使其匹配你机器上的数据库设置:

<?
$SESS_DBHOST = "localhost"; /* 数据库主机名 */
$SESS_DBNAME = "sessions"; /* 数据库名 */
$SESS_DBUSER = "phpsession"; /* 数据库用户名 */
$SESS_DBPASS = "phpsession"; /* 数据库密码 */
$SESS_DBH = "";
$SESS_LIFE = get_cfg_var("session.gc_maxlifetime");

……//定制函数

session_set_save_handler( "sess_open", "sess_close", "sess_read", "sess_write", "sess_destroy", "sess_gc");
?>

  定制使用dbm文件时的接口 :

<?
$SESS_DBM = "";
$SESS_LIFE = get_cfg_var("session.gc_maxlifetime");

……//定制函数

session_set_save_handler("sess_open", "sess_close", "sess_read", "sess_write", "sess_destroy", "sess_gc");
?>

  session定制的测试代码:

<?php
……
if ($handler == "dbm") include("session_dbm.php");//使用何种接口
elseif ($handler == "mysql") include("session_mysql.php");
else ……

session_start();
session_register("count");
……
?>

5页,页码:[1] [2] [3] [4] [5] 

上一篇:PHP中for循环语句的几种“变态”用法
下一篇:巧用Photoshop色阶功能打造水粉特效
作者:  来源:php5研究室 ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐