質問: 唐突に申し訳ありません。 例えば、hoge.php(処理に10分かかる)というファイルがあって hoge.phpに違うブラウザから同時にアクセスがあった時 どのようなことがおこるのでしょうか? どちらかのアクセスが優先され、その10分後にもう1つのアクセスによる実行が起こるのでしょうか? 私のイメージは、アクセスごとに分離されているイメージでhoge.phpは同時にそれぞれの接続で実行されると思っています。
回答: PHP自体は1つずつ丁寧にこなすプログラムなので、同時に2つのアクセスが来ると止まります。 まぁ流石にそんなサーバーゴミクズなんで、同時にアクセスを捌く為のネタがあります。 参考記事: 1日4万PVのバズ記事を処理するためにしたこと - Qiita よくあるLAMPサーバを構築すると、PHPはApacheの上で動作します。 この時にPHPのプロセスが1個だけでは愚鈍なサーバーになってしまう為、 ApacheはPHPのプロセスを同時に何個も一気に立ち上げて、「お前らアクセスが来るまで準備してろよ?」と命令します。 top等のコマンドでプロセスを監視するとPHPのプロセスがいくつも並んでるのが分かるかと思います。 うまく出来てますね。 こうして、PHPのサーバーに2つのブラウザが同時にアクセスした場合も、見かけ上は同時に処理を開始してくれるように見えるわけです。