V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jy04149886
V2EX  ›  PHP

php 的全局变量和静态变量怎么玩?

  •  
  •   jy04149886 · 2015-02-09 18:05:17 +08:00 · 3653 次点击
    这是一个创建于 3600 天前的主题,其中的信息可能已经有所发展或是发生改变。
    像那种每个请求进入的时候变量自增1的方法?
    10 条回复    2015-02-16 16:10:29 +08:00
    oott123
        1
    oott123  
       2015-02-09 18:07:52 +08:00
    XCache
    memcache
    redis
    MySQL
    jy04149886
        2
    jy04149886  
    OP
       2015-02-09 18:09:08 +08:00
    @oott123 为何用这些。。。难道php语言不支持全局变量么。。。用这些实现这功能有点麻烦吧。。。
    haiyang416
        3
    haiyang416  
       2015-02-09 18:12:13 +08:00 via Android
    全局变量也会在请求结束后销毁,你要持久话就存到数据库或者文件里去。
    t6attack
        4
    t6attack  
       2015-02-09 18:13:09 +08:00
    oott123
        5
    oott123  
       2015-02-09 18:14:09 +08:00   ❤️ 1
    php 自然是支持全局变量的。
    但 php 的生命周期仅限在一个请求。
    所以,要统计“请求数”,你必须把它保存在其他的地方——shared memory 也好,外部的 cache server 或者 database 或者写文件也好。
    jy04149886
        6
    jy04149886  
    OP
       2015-02-09 18:16:56 +08:00
    @oott123 好吧,谢了,以前貌似听说过这些,不过今天才遇到这个问题,知道解决办法了
    laoyuan
        7
    laoyuan  
       2015-02-09 18:18:32 +08:00
    用PHP不会玩,只能上内存数据库
    jackmasa
        8
    jackmasa  
       2015-02-10 11:17:16 +08:00
    写文件需要注意原子性的问题
    msg7086
        9
    msg7086  
       2015-02-10 13:19:36 +08:00
    全局变量里的全局是整个脚本的运行过程。
    PHP跑网站是按照脚本语言的流程跑的,不是守护进程的流程。

    同理可以反过来推广一下。
    如果我一个机柜里跑了一个PHP应用的集群,「全局」变量也不会在这些集群里跨服共享的。
    picasso250
        10
    picasso250  
       2015-02-16 16:10:29 +08:00
    泥萌都误解楼主了, 只要把 $_SESSION 讲出来, 楼主就满意了.

    哼, 楼上这些秀逼格的...
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4766 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 01:08 · PVG 09:08 · LAX 17:08 · JFK 20:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.