需要存储一个内存计数器,试过了$GLOBALS和$_SERVER不行,有什么好手段吗?
if (!isset($GLOBALS['MMM'])) {
$GLOBALS['MMM'] = 0;
}
$GLOBALS['MMM']++;
echo "<br>global=" . $GLOBALS['MMM'];if (!isset($_SERVER['MMM'])) {
$_SERVER['MMM'] = 0;
}
$_SERVER['MMM']++;
echo "<br>server=" . $_SERVER['MMM'];页面访问每次两个都是1

解决方案 »

  1.   

    MYSQL中有一个叫MEMORY TABLE记忆体数据表,可以用它
      

  2.   

    我整个运行环境就是纯纯的PHP,极少扩展的模块
    就存一个计算值,这简单的功能要用 memcache之类大模块,太浪费了还有没啊?
      

  3.   

    craboy1 ,我解答了你VPS的问题了,帮我想想我这问题啊
      

  4.   

    加了session_start()在前面也一样的
      

  5.   

    写个最土的测试一下<?php
    session_start();
    if (!isset($_SESSION[js])) {
    $_SESSION[js]=0;
    }
    echo $_SESSION[js]=$_SESSION[js]+1;?>
      

  6.   

    这是单个SESSION内的共享吧,换一台机再访问,又显示1了
      

  7.   

    PHP不是永驻内存的
    你只能借助别的,文件、数据库等方式存储这个数据,来实现共享
      

  8.   

    PHP有没有“全局session”之类的,可以不同PC访问时共享这个值。
      

  9.   

    如果是linux下的话恭喜你,system v ipc(消息队列,共享内存,信号量)向你敞开怀抱
    windows的话shmop_可以一试,我搞死机过一次。。
      

  10.   

    共享内存好是好,又要加载shmop模块了,哎
      

  11.   


    TO foolbirdflyfirst:我来歪楼了,假设shmop共享内存实现功能就LZ的用意来说,是否还需要借助第三方来控制竞争机制?这个系列还没在生产环境用过,呵呵请教下
      

  12.   

    要的,不同进程访问共享内存时肯定需要排排队,用信号量来阻塞住,等信号一release,别的进程才可以访问共享内存。
    windows下我就只能摊摊手了,操作系统本身这种机制肯定有,但是和php结合得不好是真的。
    也不要用什么shmop了,就用flock吧。
      

  13.   

    非常感谢!根据你的需求,只能用到一个存储的东西,像我说的,mysql 或 memcache,你的需求有点像页面访问量,但即使两个用户打开同一个页面,所有的变量都是不能共享的。一个用户你可以理解一个函数,$GLOBALS也只是函数内一个内部变量,使用memcache时,可以考虑50%操作一次。
      

  14.   

    不用memcache的话,写入数据库或者文本吧
      

  15.   


    其实用db很方便, 但你非要"不用DB,及磁盘存储等额外功能"这个条件,就......
      

  16.   

    那你认为其他语言的application对象,是如何存储一个全局变量的呢?其实还不一样是使用内存。
      

  17.   

    mysql 内存表。 就是在内存操作
      

  18.   

    给楼主提个建议,一个很简单的方法:
    session_id('cafe');
    session_start();
    指定一个 id,再启用 session,这样,所有的 HTTP request 就都会进入同一个 session,你就可以在这个 session 里面使用你的“全局”变量了。我想楼主只是不想启用“额外的扩展模块”,而并不是真的不能使用“磁盘存储”,是吧?因为上面这种方法说到底还是要使用磁盘存储的 :)
    ————————————————————————————————
    基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)
      

  19.   

    有这么复杂吗 
    ajax 读写缓存文件 轻松搞定....
      

  20.   

    ajax 调用 php 读写缓存文件 轻松搞定....
      

  21.   

    maquan 给的方法不错...你也可以尝试着用putenv,不过这种方法也是变相的使用memory或是文件,个人感觉在追求这种所谓的效率的同时,更应该注意服务器端的设置,毕竟大多数的项目不可能有像google或是facebook那样大的吞吐量