PHP首次启动session_start非常慢。(等好几分钟)
客户端有生成PHPSESSID COOKIE后访问速度就恢复正常。
把PHPSESSID COOKIE删除后打开又很慢了,当首次打开完成生成PHPSESSID后又恢复正常。就这么两行代码:
<?phpsession_start();
phpinfo();?>会是什么原因导致session_start首次启动这么慢? 
排查了很多的地方没找到原因……

解决方案 »

  1.   


    是首次,刚开始我还以为是session锁写问题……不是那原因,也不会是那原因,就这两代码呢。
    首次打开很慢,再次打开就很快了。(已生成PHPSESSID后)
      

  2.   


    都一样,Chrome、Firefox、IE都测试过了。不知道到底是什么影响了session_start的启动。
    首次启动完成后,过后就正常了。实在搞不明白是什么原因……
      

  3.   


    是啊……让人崩溃。
    头次遇到这样的问题。没PHPSESSID的COOKIE的情况时,我手动创建个PHPSESSID COOKIE就不存在这问题了。
    分配PHPSESSID慢还是什么了 
    郁闷了
      

  4.   

    不知道这文章能解决你问题否:
    http://www.myexception.cn/operating-system/501202.html
      

  5.   

    继续手册上与“slow”相关的:A note on Windows installations with an NTFS file structure:Make sure you give your Internet user account (usually IUSR_MACHINENAME) "Modify" access to the session.save_path directory.  Otherwise session_start() will silently - and oh, so slowly - fail.("Modify" is a Win2k term, but the concept translates to older IIS installs). 
      

  6.   

    同样的代码我在linux下测试没有这个状况.
    所以你该考虑得问题应该是windows的问题,而不是php的问题.
      

  7.   


    这篇文章是说nfs 共享session什么的……,没有弄这些玩意啊。#8楼是是涉及到session锁写问题吧。用session_write_close是关闭写session解锁,但这里不是这个原因呢。
    #9楼是说window,是用linux哦
      

  8.   


    代码是问题的,是用linux。
    应该是环境什么东西影响到session_start启动还是其它什么原因。
    看php错误日志又没看到什么消息。...
      

  9.   

    如果你用linux出现这个问题的话,那么比较简单了,安装一个mrtg检测一下CPU,IO,磁盘,内存等等的使用状况就好了,这样你就能通过这个值了解到究竟是哪里导致此问题的发生.
      

  10.   


    CPU,IO,磁盘,内存……这些没问题的,都有排查过,
    刚开始以为网络问题、被墙、过滤、内存……问题,最后确定都不是。
    应该不是硬件资源问题了。是新机器,安装的新环境。其它机器同样的环境,从来没遇到过这样的问题……
    现在用额外加段代码能解决这问题,治标不治本,还没找到是什么原因导致session_start启动慢。
    先自动创建一PHPSESSID,不用session_start自动分配的。
    if(!isset($_COOKIE['PHPSESSID']))
    {
            setcookie('PHPSESSID', time(), time()+60*60, '/' );
            header('location:index.php');
            exit;
    }
      

  11.   

    是想找是什么原因哦。
    amh lnmp环境的,换什么版本……这问题从未遇过,
    http://amysql.com/AMH.htm
    ----helloyou还有啊,新版本这周未发布,估计英文包又得你帮忙看看拉