全局变量global、静态变量、SESSION,多人同时访问,浏览一个网站的多个PHP页面。(例如,网站有若干个页面带有这些变量,从10个人开始访问页面到10个人关闭所有网页为止这段时间。)问题:
1、每种变量的生存周期。
2、每种变量消耗资源的缺点。
3、如何解决公用变量的问题。

解决方案 »

  1.   

    1.global/static理论上只跟一个php的周期,session跟一个人的浏览周期
    2.这个有点超出我的能力,我所理解就是不要随意产生大容量变量,尤其是复制方式产生;虽然php5有垃圾回收机制,但我道行不高,还没参悟
    3.每个人都看同一篇文章,那这文章算不算公用变量呢?换句话说就是外部存储
    关于解决资源问题的方法,php在win外系统比win系统灵活很多
      

  2.   

    php没有程序级的全局变量,如果要的只有用include文件的办法,或用共享内存!全局变量global:函数和类以外的
    静态变量:引用级
    SESSION:个人inlcude
      

  3.   

    1、每种变量的生存周期。全局变量和静态变量都是单个进程生存周期(没有人为清除的话)
    Session是周期跨进程的生存周期,过期与否是看你的过期时间设置(没有人为清除cookie的话)
    2、每种变量消耗资源的缺点。全局变量和静态变量几乎一样
    Session是靠外部方式存储(因为需要跨进程),所以要比上述2中变量要耗费资源,根据采用的方式不同(文件和数据库)消耗的资源是不一样3、如何解决公用变量的问题。这个公用变量如果指的是跨进程的变量的话,那么只能靠外部存储方式,无论是内存、file或者db,都可以实现,但是要靠多个进程并发的问题!