欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

初用SESSION的常见问题

程序员文章站 2024-01-25 16:30:52
...
可能每个PHP的初学者在使用SESSION的时候,都会遇到同一个问题,就是
Warning: open(/tmp/sess_7a8c81039d7cba3f9a868bc90f821526, O_RDWR) failed: m (2) in YOUR_PHP_FILE_PATHsession.php on line 2

这并不是您的PHP版本不够高,更不是语法错误,而是PHP指定的存放SESSION文件的路径不存在。以下是关于SESSION的用法和本人初试的一些感受,希望初学者少走些弯路。

PHP的SESSION信息是写在服务器端的硬盘上,缺省情况下是/TMP目录,如果您的硬盘上无此目录,则会出现上面提到过的错误信息,对此有两种解决的办法,一是在根目录上建立一个叫TMP的目录,二是用系统提供的session_save_path()函数重新指定一个存在的目录。PHP和ASP处理SESSION的方式不同,ASP是把SESSION写到客户端,调用时用一个专门的语句,并不做其他处理,而PHP还要为SESSION初始化一个环境。下面我就对PHP的SESSION做一个介绍。

使用SESSION前,首先要用session_start()进行初始化,并以session_register()函数声明变量,格式应为session_register("ssp")或session_register("$ssp"),如果声明成功,会返回一个TRUE值。这样此变量则成为一个SESSION,就可在其他页面中进行调用。

调用的方法如下:在调用页面也要进行SESSION的初始化(同上),然后可以直接使用变量名,



session_start: 初始 session。
session_destroy: 结束 session。
session_name: 存取目前 session 名称。
session_module_name: 存取目前 session 模组。
session_save_path: 存取目前 session 路径。

session_id: 存取目前 session 代号。
session_register: 注册新的变数。
session_unregister: 删除已注册变数。
session_is_registered: 检查变数是否注册。
session_decode: Session 资料解码。
session_encode: Session 资料编码