栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

同时请求PHP脚本

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

同时请求PHP脚本

根据服务器的配置,服务器通常可以同时处理 数百个请求 -如果使用Apache,则

MaxClients

配置选项就是这样:

MaxClients
指令设置了将同时服务的请求数的限制。
任何超出
MaxClients
限制的连接尝试 通常都会排队,最多可以排队一个基于ListenBacklog指令的数目。
一旦在另一个请求结束时释放了子进程,则将为连接提供服务。

两个客户端请求同一页面的事实不是问题。

因此:

请求会排队吗?

没有 除非:

  • 某处有一些 锁定 -例如,如果两个请求来自同一客户端,并且您正在 PHP 中使用 基于文件的会话 ,则可能发生:在执行脚本时,该会话被“锁定”,意味着服务器/客户端将必须等到第一个请求完成 (并且文件已解锁 )后,才能使用该文件为第二个用户打开会话。
  • 请求来自相同的客户端和相同的浏览器;在这种情况下,即使没有服务器端产生这种行为,大多数浏览器也会将请求排队。
  • MaxClients
    当前活动的进程不止这些-请参阅Apache手册中的引言。

他们会被忽略吗?

不:这意味着只有一个用户可以同时使用一个网站; 这不是很好吗?

如果是这样,如果您同时按下F5以查看是否有人回答,我将无法发布此答案!
(嗯,SO不是用PHP编写的,但是原理是相同的)

还有其他可能性吗?

是的^^

编辑OP和注释后进行编辑:

每个请求都会有自己的脚本实例吗?

没有“ 脚本实例 ” 这样的东西:简单地说,向脚本发出请求的情况是:

  • Web服务器会分叉 另一个进程 来处理请求 (通常出于性能原因,这些分叉是预先进行的,但这没有任何改变)
  • 该过程从磁盘读取PHP脚本
    • 多个进程可以同时执行此操作 :文件读取没有锁定
    • 文件被载入内存; 在每个进程的不同内存块中
  • 内存中的PHP文件被“ 编译 ”为操作码-仍在内存中
  • 这些操作码仍被执行-仍来自属于响应您请求的进程的内存块

实际上,您可以让两个用户向同一个PHP脚本 (或所有都包含同一个PHP文件的不同PHP脚本)
发送请求;绝对不是问题,或者我曾经使用的网站都无法正常工作!



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/465747.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号