初用SESSION的常见问题
可能每个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 资料编码
补充:Web开发 , php ,