修改php.ini中的session.save_path为一个确实存在的目录,比如c:\php\temp
解决方案 »
- <? PHP新手、phpcms问题、?>
- 关于php中的面向对象
- 关于PHP递归算法问题高手请进
- 超简单问题:PHP+MYSQL中如何统计出今天更新了多少条内容?
- 请教个mysql问题.关于获取查询结果中某一个字段的最大值..(按照其他字段排序)
- WIN2000下配置采用微米天空套件配置PHP+MYSQL+CQI环境,为什么IIS连接不上了?如何恢复IIS呢?
- 遇到一个奇怪的现象! 关于strtotime()
- 不错的系统:帝国下载系统1.5版演示
- 哪位兄台给我一个正则表达式,用来表示图片,自己写了一个,好像不大对
- php 读取json数据的文件得到的是string类型
- 用dreamweaver与数据库的连接问题
- 为什么我的PHP留言程序,老是会读不到留言的内容呢?
session.save_path = /tmp
在php程序所在驱动器的根目录下建立目录tmp并给以完全访问权限session.save_handler = user
执行session_set_save_handler并确保各参数所指函数存在且正确无误
我在这个样的情况下没错,这个是把SESSION保存到一个文件中session.save_handler = user
这个是要把SESSION保存到数据库中去,但是如果我这样修改了,那么所有的PHP页面都不执行,显示的是没有这个页面,包括<? phpinfo() ?>都没有用了!如果session.save_handler = files的时候应用上面一段代码,则报错!
有人用过吗,请指教!
看看手册上的这段session_set_save_handler
(PHP 4 >= 4.0.0)session_set_save_handler -- Sets user-level session storage functions
Descriptionvoid session_set_save_handler (string open, string close, string read, string write, string destroy, string gc)
session_set_save_handler() sets the user-level session storage functions which are used for storing and retrieving data associated with a session. This is most useful when a storage method other than those supplied by PHP sessions is preferred. i.e. Storing the session data in a local database. Note: You must set the configuration option session.save_handler to user in your php.ini file for session_set_save_handler() to take effect. Note: The "write" handler is not executed until after the output stream is closed. Thus, output from debugging statements in the "write" handler will never be seen in the browser. If debugging output is necessary, it is suggested that the debug output be written to a file instead. The following example provides file based session storage similar to the PHP sessions default save handler files. This example could easily be extended to cover database storage using your favorite PHP supported database engine. Example 1. session_set_save_handler() example ?>
<?php
function open ($save_path, $session_name) {
global $sess_save_path, $sess_session_name;
$sess_save_path = $save_path;
$sess_session_name = $session_name;
return(true);
}function close() {
return(true);
}function read ($id) {
global $sess_save_path, $sess_session_name; $sess_file = "$sess_save_path/sess_$id";
if ($fp = @fopen($sess_file, "r")) {
$sess_data = fread($fp, filesize($sess_file));
return($sess_data);
} else {
return("");
}}function write ($id, $sess_data) {
global $sess_save_path, $sess_session_name; $sess_file = "$sess_save_path/sess_$id";
if ($fp = @fopen($sess_file, "w")) {
return(fwrite($fp, $sess_data));
} else {
return(false);
}}function destroy ($id) {
global $sess_save_path, $sess_session_name;
$sess_file = "$sess_save_path/sess_$id";
return(@unlink($sess_file));
}/*********************************************
* WARNING - You will need to implement some *
* sort of garbage collection routine here. *
*********************************************/
function gc ($maxlifetime) {
return true;
}session_set_save_handler ("open", "close", "read", "write", "destroy", "gc");session_start();// proceed to use sessions normally?>
然后session_start,和正常使用session一样使用。
你可以把这些函数写在session.inc.php里面,每次使用session之前就include这个文件,ok。
我在别的地方有session就没问题
或许是php版本问题。
用最新版本试试