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文件);這絕對不是一個問題,或沒有一個網站,我曾經工作!
總結
以上是生活随笔為你收集整理的php请求脚本,同时请求PHP脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: gta5在线模式怎么赚钱
- 下一篇: php 0-1,PHP 动态解决0-1背