多用户访问一个php程序,他们之间没有冲突,原理是什么?
例如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 是吗?
请问 并发访问不冲突,背后的原理是什么??
是不是每个用户访问时,都会在内存中划一块区域保存对应的引用??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
就是每个用户访问的时候 程序逐个进入内存 CPU逐个处理的。这个应该和CPU机制和内存相关知识有关系。并不是PHP的问题。一段程序执行完必然有一个结果,Apache吧结果拿到了就返回出去嘛。
一般来说,一个用户建立连接访问,服务器会开辟一个新的进程服务该请求,在这个进程中,php解释器会去读取php文件的内容,会实例化一个对象,这个对象会有一个引用,等请求结束了,所有数据被回收,引用也就不存在了。
因为php是多进程模式。。访问的时候每个用户都是一个独立的进程空间