例如thinkphp程序中有一个class,它有一个属性为获取用户的referrer
if($_SERVER['HTTP_REFERER']==null){
$visitor_info.='&referrer='.'empty';
}else{
$visitor_info.='&referrer='.$_SERVER['HTTP_REFERER'];
}
$this->visitor_info=$visitor_info; //一个属性为获取用户的referrer
当同时有多个用户访问时,每个用户都有一个对应不冲突的 $this->visitor_info 是吗?
请问 并发访问不冲突,背后的原理是什么??
是不是每个用户访问时,都会在内存中划一块区域保存对应的引用??
一般来说,一个用户建立连接访问,服务器会开辟一个新的进程服务该请求,在这个进程中,php解释器会去读取php文件的内容,会实例化一个对象,这个对象会有一个引用,等请求结束了,所有数据被回收,引用也就不存在了。
就是每个用户访问的时候 程序逐个进入内存 CPU逐个处理的。这个应该和CPU机制和内存相关知识有关系。并不是PHP的问题。一段程序执行完必然有一个结果,Apache吧结果拿到了就返回出去嘛。
因为php是多进程模式。。访问的时候每个用户都是一个独立的进程空间