试试这个吧,以前我写的以前写的例子,见笑.:)关于php中session的一点小心得  最近在学习写php,被里面的session给缠住了,在书上非常
简单的session例子,居然在我的电脑上一直没办法运行出来。
在请教了各位高手,再找了许多资料后,终于有了一个自认为正
确的答案,现整理如下。
  在php 4.1.0 之前的session大概是使用$HTTP_SERVER_VARS
这个命令在进行操作的(只是从网上找到的资料没有经过验证),
但一般现在装的php,都是在4.2、4.3的样子在下的系统里就是
php-4.3.4-win32
  很显然,书上的东西已经不能支持最新的php了。  经过试验,我解决的方法如下
1、将session.save_path的路径改为session.save_path = c:\php\tmp
同时在c:\php下建立tmp目录。2、另,session.cookie_path 的路径千万不能改还是要保持原来的样子
session.cookie_path = /
  网上有的文章说要把这改成和session.save_path一样的路径,就这
点把我害了。  改完后重新起动服务器。运行两个文件。test.php<?
session_start();
$_SESSION["mytest"]="give my love.";
echo "<a href=test2.php>go</a>";
?>test2.php<?
session_start();
echo $_SESSION["mytest"];
?>  结果可以让人满意。PS:注意点
1、session_star()前面不能有任何字符输出,包括前面不能有空格。
2、$_SESSION一定要大写,不能用小写。

解决方案 »

  1.   

    唉,在我机子上的运行结果还是令人心碎!
    lzkd,能不能把你的PHP.INI给一份给我!我的设置是这样的:
    session.save_path = c:\temp    ; argument passed to save_handler
    当然,我的C盘下有temp这个目录;session.cookie_path = /
    这个是按照你说的改的但结果还是和以前的毛病一样.......
      

  2.   

    有没有 temp 这个文件夹???
    把电脑重启一下~~~~~~~~~
      

  3.   

    重启依然无效,心碎中....回去换一台电脑试试!lzkd,能不能把你的PHP.INI给一份给我!
      

  4.   

    你PHP版本是多少的?如果是4.3.3的话,session功能有bug,会出错!
      

  5.   

    运行 echo phpinfo(); 把结果发上来, 或许有人能帮你找到毛病.
      

  6.   

    session.use_trans_sid = 0
    session.cache_expire = 180
    session.cache_limiter = nocache
    session.entropy_file =
    session.entropy_length = 0
    session.referer_check =
    session.bug_compat_warn = 1
    session.bug_compat_42 = 1
    session.gc_maxlifetime = 1440
    session.gc_dividend    = 100
    session.gc_probability = 1
    session.gc_maxlifetime = 1440
    session.gc_probability = 1
    session.gc_dividend    = 100
    session.serialize_handler = php
    session.cookie_domain =
    session.cookie_path = /
    session.cookie_lifetime = 0
    session.auto_start = 0
    session.name = PHPSESSID
    session.use_cookies = 1
    session.save_path =c:\php\temp
    session.save_handler = files
      

  7.   

    搞定了,多亏了kelvinma让我看了一下phpinfo()
    发现了 Configuration File (php.ini) Path  d:\usr\local\php\php.ini  这行而以前我改的一直是c:\winnt\php.ini,所以一直没用把d:\usr\local\php\php.ini 这个文件的session.save_path =你想要的目录   设置好后就OK了
      

  8.   

    为了通用,你可以在session_start()前运行session_save_path( 保存临时session文件目录 );,这就不用理会php.ini了。