php请求脚本,同时请求PHP脚本

服务器,根据其配置,通常可以同时服务数百个请求 – 如果使用Apache,

MaxClients配置选项是一个说:

The MaxClients directive sets the

limit on the number of simultaneous

requests that will be served.

Any

connection attempts over the

MaxClients limit will normally be

queued, up to a number based on the

ListenBacklog directive.

Once a child

process is freed at the end of a

different request, the connection will

then be serviced.

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

所以:

Will the requests be queued?

没有;除非:

>在某处有一些锁 – 例如,如果这两个请求来自同一个客户端,并且您在PHP中使用基于文件的会话,则可能发生这种情况:在执行脚本时,会话被“锁定”这意味着服务器/客户端将必须等待直到第一请求完成(并且文件解锁),以能够使用该文件为第二用户打开会话。

>请求来自同一个客户端和同一个浏览器;大多数浏览器会在这种情况下排队请求,即使没有服务器端产生这种行为。

>有超过MaxClients当前活动进程 – 请参阅之前的Apache手册中的引用。

Will they be ignored?

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

如果是这样,我不能发布这个答案,如果你在同一时间击中F5,看看有人回答!

(嗯,SO不是在PHP,但原则是一样的)

Any other possibility?

是^^

编辑后编辑OP和注释:

Will each request have its own script

instance?

没有“脚本实例”这样的东西:简单地说,发生请求到脚本的地方是:

> web服务器派生另一个进程来处理请求(通常,出于性能原因,这些fork是提前做的,但这没有改变)

>该进程从磁盘读取PHP脚本

>几个进程可以同时做到这一点:文件读取没有锁定

>将文件加载到内存中;在用于每个进程的不同的存储器块中

>内存中的PHP文件被“编译”为操作码 – 仍然在内存中

>那些操作码被执行 – 仍然来自属于回答您的请求的进程的内存块

真的,你可以有两个用户发送请求到同一个PHP脚本(或不同的PHP脚本,所有包含相同的PHP文件);这绝对不是一个问题,或没有一个网站,我曾经工作!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值