background image

 综述 

  Session 指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时
间,也就是用户浏览这个网站所花费的时间。从上述的定义中我们可以看到, Session 实
际上是一个特定的时间概念。

  一般来说,在网站上某一个页面中的变量(指服务器端变量,下同)是不能在下一页
中用的,有了 session 就好办了。session 中注册的变量可以作为全局变量使用。这样我们就
可以将 session 用于用户身份认证,程序状态记录,页面之间参数传递。

  在 PHP3 版本中是如何实现 session 的?

  php3 本身是没有实现 session 功能的,我们只有用其他的方法来实现,这其中最有名的
要算 phplib 了。phplib 最基本的功能包括用户认证、Session 管理、权限及数据库的抽象化。
下面我们就讲述一下如何用 phplib 实现 session。

  1、首先安装 phplib(环境为 win2000+php3.0.16+Apache1.3.12+phplib7.2c+mysql3.23.21 
for win32)

  首先将 phplib 解开,里面有一个"php"目录,将这个目录拷贝到 Apache 的安装目录下。
例如:Apache 安装在 d:\Apache 目录下,那么就将"php"目录拷贝到 d:\Apache,并将
phplib 目录的 pages 目录下(不包括目录本身)的文件和目录一起拷贝到 d:\Apache\htdocs
下。

  phplib 的类库需要根据系统进行初始化,可能需要修改 local.inc 文件,其中包含着一
些基本参数,可以根据自己机器的实际情况来进行修改。

  将 d:\Apache\php\prepend.php 文件中的一段程序改为如下样子:

    if (!isset($_PHPLIB) or !is_array($_PHPLIB)) {

      $_PHPLIB["libdir"] = "d:/Apache/php/"; //放 phplib 下 php 目录的路径

    }

  修改 d:\Apache\php\local.inc 文件:

    class DB_Example extends DB_Sql {

      var $Host = "localhost"; //mysql 数据库所在主机名

      var $Database = "test"; //数据库名

      var $User = "root"; //数据库用户名

      var $Password = "1234567"; //数据库用户密码

    }

  最后根据 phplib 目录下的 stuff 子目录中的 create_database.mysql 文件生成初始表。

  由于每一个使用 phplib 的页面首先必须可以找到运行 phplib 所必需的类库文件,我
们可以在 php.ini 中设置 auto_prepend 变量来支持,phplib 中包含一个 prepend.php 文件,并
将 auto_prepend 指定为"d:/Apache/php/prepend.php"(带引号)后,各页面就会自动包含 phplib
类库,我们还可以将 phplib 类库所在目录加进 include 变量中,以便可以找到这些文件。