你不用数据库那用share memory

解决方案 »

  1.   

    http://expert.csdn.net/Expert/TopicView1.asp?id=2995563
      

  2.   

    shmop_open的第一个参数是什么?
    为什么php4.3.5不支持ftok?
      

  3.   

    key, which is the system's id for the shared memory block, this parameter can be passed as a decimal or hex.第一参数为你在share memory创建空间唯一标识,通过这个key来读取删除释放空间的内容。
      

  4.   

    ftok属于Semaphore, Shared Memory and IPC Functions,而该扩展模块不适用于 Windows 平台。
      

  5.   

    "第一参数为你在share memory创建空间唯一标识,通过这个key来读取删除释放空间的内容。"那么这个函数的返回值是干什么的??
      

  6.   

    那么$GLOBALS数组和global修师符声明变量是干什么用的?
      

  7.   

    郁闷:shmop_open的返回值是用让你通过这个它来读取删除释放空间的内容,而shmop_open的第一个参数的作用也是这样,但是针对php服务器而言,返回值是针对你而言!
      

  8.   

    那么shmop_read,shmop_delete...这些函数的第一个参数用哪个?
    用shmop_open的返回值还是让他们的第一个参数都一样?另外,shmop_open的第一个参数有什么要求吗?就类似一个共享内存空间的开始地址?随便什么都可以?只要谁想访问这同一块共享空间的一样就可以?那么$GLOBALS数组和global修师符声明变量是干什么用的?
      

  9.   

    那么shmop_read,shmop_delete...这些函数的第一个参数用哪个?用shmop_open的返回值shmop_open的第一个参数有什么要求吗?就类似一个共享内存空间的开始地址?随便什么都可以?参数为你自定的decimal或hex
      

  10.   

    shmop_open第二和第三个参数都有什么去值范围?
      

  11.   

    我真的受够你了,才50分就问那么多问题,烦不烦啊你,你在网吧不能下载php手册看吗?什么都告诉你,你干脆在这个贴子里问所有的问题,看有没有人在回复你。厚颜无耻的人我又再次见识了,你觉得良心过得去就别接贴。
      

  12.   

    to  unixdotnet(),厚颜无耻竟然是我问问题的,而不是你这种自以为是答问题的,好像谁欠你什么似的,大家评评理,我怎么厚颜无耻了?莫非我请别人回答问题要别人给我分??不就是这个问题没给你分嘛?可你回答了什么?莫非我厚颜无耻到要给没提供有用答案的人分??
    大家评评理来看看,我是不是把分在第一时间给了能够满意回答我问题的人:
    http://expert.csdn.net/Expert/topic/3033/3033937.xml?temp=.7083246unixdotnet(),你在大庭广众之下说话也不给自己张点脸,你以为你是谁?少了你我就找不到别人回答了?好像你是救世主一样!你好好一个人怎么活成这样?你成年了吗?你妈教过你怎么跟说人话嘛?
    php手册上要是说得清楚,或者是我能看懂,我还问啥?shmop_open的第三个参数这样说的:The third parameter is the mode, which are the permissions that you wish to assign to your memory segment, those are the same as permission for a file. Permissions need to be passed in octal form ex. 0644. The last parameter is size of the shared memory block you wish to create in bytes. 
    即便看懂了英文,就能知道啥意思?这段说明白了吗?取值范围难道就是0644一个???还有,
    shmop_close() takes the shmid, which is the shared memory block identifier created by shmop_open(). shmop_delete() takes the shmid, which is the shared memory block identifier created by shmop_open(). 两个函数说明几乎一样,到底有什么区别?//////////////////////////挣开你的狗眼好好看清楚问题:
    php中有没有类似asp中的application对象来存储所有用户共享的变量?再看看你所有的回答,有一个能让人知道问题的确切答案的嘛?你竟然厚颜无耻到嫌50分少!!你的哪条回答值50??别觉得自己是大师似的,说两个子让别人慢慢琢磨:你的第一条回答“你不用数据库那用share memory”谁知道你说的是个啥??第二条回答确实贴了个例子,但是你以为你这例子能够回答我的问题嘛?别的不说,就连我问的同步问题你都没有说!还有脸要50??还竟然厚颜无耻的说“你觉得良心过得去就别接贴”,究竟是谁的良心应该过不去?如果谁嫌分数少,可告诉我啊,我另开贴子把分补上,在csdn就是这样,问问题的想知道答案,答问题的想得到分,这种交易就是这么简单,完全公平,谁也别觉得自己给人回答问题就高高在上,难道你是help others for free的??我怀疑 unixdotnet() 你就是个混子,在这里混分的!但是我是有"良心"的,只要物有值,我会pay的,我保证你在之前的回答能够给你20分,因为:
    1、一半的问题你没有回答(同步问题)
    2、即便是题了shmop_系列的函数,也是没有说清楚怎么使用,无法回答清楚我这个题目的第一部分问题,你贴来的东西也就值20分的!
    这下够满意吗?不就是分嘛,你好好一个人为了这点虚荣何苦活成这样?难道csdn的分数能够换money ??
    to:  所有后来者,别的我知道了,谁帮我回答
    1、同步问题;
    2、shmop_open第三个参数都有什么取值范围?剩下的30给他,如果觉得不够,当然可以再开贴子另送!
      

  13.   

    1、shmop_open的第三个参数这样说的:即便看懂了英文,就能知道啥意思?这段说明白了吗?取值范围难道就是0644一个Permissions need to be passed in octal form ex. 0644. 用过linux没有,0644是权限的mask匹配值,1可执行,2可写,4可读,从左到右从第二位依此表示owner、group、other,6表示owner可读可写,还不明白就不要再弄php了。
      

  14.   

    2、shmop_close() takes the shmid, which is the shared memory block identifier created by shmop_open(). shmop_delete() takes the shmid, which is the shared memory block identifier created by shmop_open(). 两个函数说明几乎一样,到底有什么区别?当然有区别,你不知道是因为你在机器上测试过!shmop_delete不是真正地删除share memory的空间内容,只是通知系统不让其它进程读取修改里面的内容,通知系统将要删除share memory。最后你必须调用shmop_close通知系统把前面shmop_delete标记了的share_money彻底释放掉。完整的释放步骤你该明白了吧?
      

  15.   

    呵呵, unixdotnet(),我没接触过linux,难道php就不是我学的?你牛逼个屁阿?还想看看我有什么话好说?竖直耳朵听好,我的话就是: 1、老子就是不愿意查资料,就是不愿意测试,就是有分,就是愿意问问题,要是大家都查资料,你的专家分哪来的??不知好歹的东西! 2、unixdotnet(),你早点放明白,回答了不就得了,真是贱,找着让我骂你!3、delete和close的区别你让我上哪里测试去?我用的win2000 , 谁知道怎么测试?4、“完整的释放步骤你该明白了吧?”,同步问题你还没有解决,如果你觉得50你势在必得,再来说说!不然只有你25分。
      

  16.   

    3、你所谓的同步问题//0xee3为你申请的临界区标记
    $semid = sem_get( 0xee3, 1, 0666 );
    //调用成功成功的话$semid为你申请的临界区id,供sem_release、shm_get_var等方法使用//0xff3为你申请的共享内存空间标记
    $shm_id = shmop_open( 0xff3, "c", 0644, 100 );
    //调用成功成功的话$semid为你申请的共享内存空间id,供shmop_read、shmop_size等方法使用//开始同步互斥操作//琐定临界区,避免其它进程操作区内的内容
    sem_acquire( $semid );//进入临界区了,你可以对$shm_id代表的共享内存中的内容进行唯一性操作!操作的代码不用我写吧?
    //退出临界区
    sem_remove( $semid );//释放资源
    sem_release( $semid );
      

  17.   

    非技术问题我就不再多说了,旁观者清,居然说我混分。就算我混分是我有能力,哪里规定不能混分了。态度还那么恶劣,说“你的第一条回答你不用数据库那用share memor”谁知道你说的是个啥??”,不懂是很正常的,既然不明白了我就给个例子出来让你看,你又不愿意看完去想想,尽是问不重要的东西。还怪我说得不清楚,你是不是想其它人帮你写好了所有东西不用去思考,看这那些一个php一个注释来工作?公道自在人心,天下没有免费的吴餐,你找找csdn有没有这些东西,很多人都懂但不愿意也赖得写出来,前面我说的内容难道是费话吗?我没有把所有的东西都讲出来是因为鄙视你那50分,这么少还想问问题,根本没心。现在csdn的大多人只会问问题,有了答案就走,你去看看大把大把的贴子没有结,那些人去哪了?简直是打击人的积极性。摆脱你学学其它有星星的人他们的问题和回复多简洁有力,即使他们的问题没有得到很好的回答,也很快结贴,不像你拖拖拉拉。
      

  18.   

    1、老子就是不愿意查资料,就是不愿意测试,就是有分,就是愿意问问题,要是大家都查资料,你的专家分哪来的??不知好歹的东西! 估计你是有钱人,财富数之不尽,你根本不用费时去弄php啊,找几个手下弄就行了,自己亲自上csdn问那么苦。如果不是有钱人,是正常学习工作的人,遇到困难不是应该自己去想办法吗,什么都靠别人。那么无耻说“就是不愿意测试,就是有分”,你以为自己很多分啊?我另外一个帐号有8000多分,我可以自己问问题然后自己解决拿分,我保证没有人能检查到,但这良心过意得去吗我的专家分是在帮助了人家后得到的,你给了分就要牛逼啊?你去吃完饭,结帐时是不是很牛的把钱仍到地上让人家拿?
      

  19.   

    咱俩谁也别生气,说句老实话,unixdotnet(),你难道不知道时间就是金钱的道理?有时间自己测试,不如写点字,放点分,发个贴子等答案,让"专家们"给回答回答,顺便给他们点虚荣心,你的钱袋子又不会少,这段时间自己还可以干点别的,不然你以为要这个论坛干啥?别总是觉得自己了不起似的,确实你认为自己测试能够学得更扎实,但说句难听的,我认为那是“武痴”的想法。
      

  20.   

    2、unixdotnet(),你早点放明白,回答了不就得了,真是贱,找着让我骂你!那么少分,我是不想拿,现在也不想拿,我打那么多字是让其它人看清楚类似于你的那些人,群众的眼光是雪亮的,别以为换个帐号就了事。即使我回答得不完整就是贱吗让能让你骂吗?不过现在我觉得挺好的,让你出洋相。
      

  21.   

    3、delete和close的区别你让我上哪里测试去?我用的win2000 , 谁知道怎么测试?怎么不能测试?分别写两段代码,一段有运行shmop_delete(),另外一段没有,执行完后在重新读取共享内存的内容看有什么不同,在win2000的share memory有时有问题的你自己看着办,别什么都怪我,在我身上找问题。
      

  22.   

    4、“完整的释放步骤你该明白了吧?”,同步问题你还没有解决,如果你觉得50你势在必得,再来说说!不然只有你25分。to:  所有后来者,别的我知道了,谁帮我回答
    1、同步问题;
    2、shmop_open第三个参数都有什么取值范围?剩下的30给他,如果觉得不够,当然可以再开贴子另送!我已经把关键的东西写出来了,牛气冲天的楼主能给我多少分?
      

  23.   

    光忙自己消气了,没想到你又来这一堆没用的,一不小心又把自己当上帝了?反正我没事,我问你:1、“不懂是很正常的,既然不明白了我就给个例子出来让你看,你又不愿意看完去想想,尽是问不重要的东西。”什么叫不重要的东西?对我来说,不会得都重要。2、“公道自在人心,天下没有免费的吴餐”你自己愿意来的,你说这个分数给多少算公道?3、“你找找csdn有没有这些东西,很多人都懂但不愿意也赖得写出来,前面我说的内容难道是费话吗?” 眼睛近视了吧,我说是废话了嘛,要不给你20分干嘛?4、“我没有把所有的东西都讲出来是因为鄙视你那50分” 你为什么要鄙视50分?难道我得到问题满意答案以后有不结过贴了?5、“现在csdn的大多人只会问问题,有了答案就走,你去看看大把大把的贴子没有结,那些人去哪了” 你再说我嘛?我干过那事情嘛?6、“摆脱你学学其它有星星的人他们的问题和回复多简洁有力”他们当然是简洁有力了,可是我刚学的,能做到嘛?而你,如果做到了“简洁有力”,我会这样不断问嘛?你昏了头了吧??7、“即使他们的问题没有得到很好的回答,也很快结贴,不像你拖拖拉拉。” 你要是有本事把问题回答清楚,就别怪我拖拉,我要是什么都明白还问你个大头鬼阿?8、“如果不是有钱人,是正常学习工作的人,遇到困难不是应该自己去想办法吗,什么都靠别人。”说句老实话,unixdotnet(),你难道不知道时间就是金钱的道理?有时间自己测试,不如写点字,放点分,发个贴子等答案,让"专家们"给回答回答,顺便给他们点虚荣心,你的钱袋子又不会少,这段时间自己还可以干点别的,不然你以为要这个论坛干啥?别总是觉得自己了不起似的,确实你认为自己测试能够学得更扎实,但说句难听的,我认为那是“武痴”的想法。9、“我可以自己问问题然后自己解决拿分,我保证没有人能检查到,但这良心过意得去吗我的专家分是在帮助了人家后得到的” 净说些没用的,谁在乎你是不是自己给自己分? 说实话我鄙视那样的人,净弄些自己逗自己的事情。10、“你给了分就要牛逼啊?你去吃完饭,结帐时是不是很牛的把钱仍到地上让人家拿?”谁先牛逼的?记得你自己的话嘛?“用过linux没有,0644是权限的mask匹配值,1可执行,2可写,4可读,从左到右从第二位依此表示owner、group、other,6表示owner可读可写,还不明白就不要再弄php了。”
      

  24.   

    11、“群众的眼光是雪亮的,别以为换个帐号就了事。”==〉多账号的事情只有你会干。
    12、“我打那么多字是让其它人看清楚类似于你的那些人”我怎么了?就是50分给的少了?就是因为不应该对叫 unixdotnet() 的不满意? 你去论坛找找,我骂过谁? 你也萨泡尿照照自己,你算个什么东西?13、“我已经把关键的东西写出来了,牛气冲天的楼主能给我多少分?”我就给你50了,你这大胃口想让我这小户人家拿多少?
    13、“不过现在我觉得挺好的,让你出洋相。”----哈哈,我不说啥了。
      
      

  25.   


    unixdotnet()我告诉你,老子这就是陪你玩玩,别看不起初学的!