1
loveyu 2014-11-16 20:44:54 +08:00 via Android
貌似没办法,存在session或缓存中
|
2
mahone3297 2014-11-16 20:55:26 +08:00
写入redis内存中。。。
|
3
orvice 2014-11-16 20:59:52 +08:00
$a 放到同一个文件,然后AB都去include?
|
4
regmach 2014-11-16 21:03:36 +08:00
session,plz
|
5
zhs227 2014-11-16 21:03:57 +08:00
PHP变量作用域是页面,这个事情被喷了不知道多久。需要自己做序列化与反序列化。一般常用的是session, db, 也可以用文件,简单点一两个参数的可以用url?param1=v1¶m2=v2这种GET方式传递。
|
6
regmach 2014-11-16 21:28:31 +08:00
看了ls的描述
我突然觉得自己似乎没理解lz的用意.... |
7
qushiba 2014-11-16 21:34:26 +08:00
从页面参数传过去,或者就session。。。。。可蛋疼了
|
9
feiyuanqiu 2014-11-16 21:36:27 +08:00
内存的话我记得有个扩展shmop可以干这事,但是都用到内存了其实用缓存还要简单些
|
11
cougar 2014-11-16 21:48:13 +08:00
什么场景非要这么干
|
12
cover 2014-11-16 21:49:23 +08:00 via Android
跳转的get里面写入参数 redis的作用域就变成全局了。。。不现实 还是写入url的get请求靠谱
|
14
lincanbin 2014-11-16 21:57:54 +08:00
一般是是URL中夹带参数跳转,变量的生命周期是请求其实是个很好的特性,避免了不会用变量的人把Web服务搞挂。
|
15
txlty 2014-11-16 22:03:33 +08:00
写入文件。或者写入内存,可以用第三方软件实现(memcache、redis)
写入内存有更简单的方式:用apc扩展。 http://pecl.php.net/package/apc http://php.net/manual/zh/book.apc.php |
16
txlty 2014-11-16 22:16:19 +08:00
楼主先搞明白,你想要的是作用于单次会话的变量?还是服务器全局缓存?
如果是单次会话,那么session就是储存在内存里的。 |
17
itfanr 2014-11-16 22:35:41 +08:00
如果是java 貌似可以弄个变量 作用域是一次请求
|
18
xin1090 2014-11-16 23:09:12 +08:00
我貌似用get比较多,需要安全一些的会弄成post。 反正都是隐藏的。
|
19
regmach 2014-11-16 23:18:11 +08:00
针对用户就session或者get/post
针对全局就写入内存或者数据库 0_0 我应该没有乱说吧? |
20
breestealth 2014-11-16 23:22:59 +08:00
就是一个全局变量的问题。写入 Session、Cookie、Memcache、Redis、DB 甚至某个文件都能解决。根据需要选择最简单的。
|
21
kchum 2014-11-17 00:35:37 +08:00 via iPhone
Get
最简单了 |
22
watsy0007 2014-11-17 00:39:51 +08:00
数据量比较小,访问量小就上session.
不然就考虑外部缓存,redis |
23
Yuansir 2014-11-17 09:31:05 +08:00
共享内存 shm_*
|
24
skyworker 2014-11-17 10:15:59 +08:00 3
@zhs227 RT
PHP和Python/Ruby的运行机制有一个本质区别:PHP是每次HTTP请求过来以后,初始化全部资源(例如创建数据库链接、加载系统类库,创建缓存等等),处理完毕,释放全部资源,这不像Python/Ruby之类带有GC的脚本语言,Python/Ruby是初次启动的时候初始化资源,随后的请求就不必再次初始化资源了。 这种机制的差异带来的区别就是: 1、PHP极难出现严重的内存泄露问题,随便你代码写的多烂,反正每个请求一执行完毕,所有资源统统释放光。而Python/Ruby则需要依赖GC来回收内存,因此稍有不慎,还是会出现GC无法释放的内存泄露问题。 2、PHP每次请求都要初始化资源,这个开销非常大。所以尽管PHP解析器本身的运行速度是极快的,但是一旦使用复杂的PHP框架,那么由于需要每次请求的时候初始化整个框架,性能的下降非常厉害,你用一个很复杂的PHP框架的结果就是整体性能被Ruby远远甩开。这也是为什么PHP社区这么多年来,并不怎么倾向于使用框架的原因之一。 3、由于PHP这种每请求初始化资源的机制,也造成了PHP添加跨请求的高级特性相当困难,这是PHP本身一个很大的限制,但是反过来说,正是这种限制使得PHP始终保持在一个比较简单的web语言上面,而正是这一点才是PHP得以成为互联网第一Web编程语言的原因,因此也未必就不好。 |
25
boynanboy 2014-11-17 16:15:28 +08:00
session 缓存 文件 通过url传递
|
26
xwsoul 2014-11-18 21:56:26 +08:00
原因, 思路和方案LS各位已经答的很好了...
PHP基本变量使用的思路就是一个请求内处理完成... 基本上比较耗时的操作可能回丢队列或者深度依赖缓存系统... |
27
bystand3r 2014-11-29 22:02:40 +08:00
看你的业务需求,这个变量到底涉不涉及隐私或安全特性,如果没有,那么get必然是最靠谱的方法。
|