下面这个例子如何在if()中加上
echo "xxxxxx";
这一句也是始终打印出来,好像session没有注册成功一样。
怪了。

解决方案 »

  1.   

    1、如果你的session工作正常的话,不会出现你说的现象。注意,测试时是用“页面刷新”而不是再打开一个浏览器窗口
    2、你的这个“数据库持续连接”的思路是错误的,因为当php程序执行完毕后,php系统会自动切断与数据库的连接,所以即使将连接保存在session中也是无用的。
    3、php系统和数据库系统是同时运行在服务器上的不相干的两个系统。不能,也没有必要在两者间建立永久的通道。如果这样做那就是单机而不是网络了。
    4、当类出于持续化的状态下的时候,类中的数据库连接是需要自行通过__seep方法来维持的。这一点在手册中讲的很清楚。
      

  2.   

    1、我是使用的“页面刷新”,而且session应该是正常工作的。因为这上面还有其他程序使用了session都工作正常。
    2、在进行数据库连接的时候我已经指定了使用“持续连接”即pconnect();
    3、我用Benchmart分析自己的页面,发现数据库的建立连接时间花掉了整个页面执行时间的60%,说明瓶颈在这里啊,出于以上考虑也就是为了排除这个瓶颈。而且我这个也不是永久通道(session有一定时间啊。到时候会自动释放的)
    4、从上面的测试来看,类好像每次都释放了数据库连接,根本没有保持pconnect()啊。
      

  3.   

    pconnect()只是通知php将该连接维持下去,相当于在php和数据库间保留一个永久通道。但这个通道并不能与数据库进行通行,只是一个简单的tcp/ip连接。只有在下一次执行pconnect()时才可能被重新使用