除了用数据库和文件方式PHP中有什么方法可以实现用户见共享变量的?ASP中有Application对象, PHP中有类似的东西吗?

解决方案 »

  1.   

    第一, 用cookie, $_COOKIE第二, 用$_SESSION第三, global $var;第四, &引用第五, $GLOBALS引用
      

  2.   

    global $var; 中的就可以了。
      

  3.   

    $_SESSION可以吗,不是说一个用户连接对应一个$_SESSION么?
    我也是新手不懂
      

  4.   


    主要就是数据库和文件. php没有application这个概念.1-5楼都没明白你问什么
      

  5.   

    共享内存,不过只能在linux下用
      

  6.   

    先引用一段别人的话php有两套使用共享内存的函数,一套是System V IPC函数的封装,另一套是shmop。
    这两个都无需安装外部库文件。
    前者只能在linux下使用,而且要使用它的话,在安装php的时候要加上–enable-sysvshm选项;
    而后者在linux和windows(win2k之后的系统,win98不支持)都可以使用,但在windows的时候,只有在php是ISAPI运行模式才能正常工作,在安装php的时候要加上–enable-shmop。其中我只在windows下尝试用过shmop
    $shm_id = shmop_open(12345, "w", 0, 0); // 打开key为12345的共享内存,第二个参数w表示以读写方式打开,打开已存在的共享内存,第三个和第四个参数必须是0
    $shm_data = shmop_read($shm_id, 0, 3); // 从共享内存里面读取3字节的数据,第二个参数是偏移地址,0表示共享内存的起始地址
    echo $shm_data; // 打印出上个函数返回的共享内存数据
    shmop_delete($shm_id); // 删除共享内存
    不过我测试的时候发现一个问题,shmop_delete($shm_id);并不能删除共享内存,也就是说在关机之前一直存在,而且据说shmop的稳定性不好,且很少有人用过,用不用就看楼主了。同样推荐数据库存储,文件缓存的方式
      

  7.   


    不同的用户能共享这些吗? 乱说不同的用户共享数据:
    1. 数据库共享   
    2. 可以通过写文件共享(写文本,写数组,写json,写xml ....)
    3. 通过cache (memcached)【内存】
      

  8.   

    今天再看此帖, 发现原来是用户共享,既然不能用数据库, 和文件, 那只有共享服务器上的内存1. 十楼的答案, 2. 用memcached