2 istemci sunucuyu aynı anda ararsa, sunucu büyük olasılıkla her iki istemciye de neredeyse aynı anda yanıt verebilir. Buradaki istemcileri tarayıcı düzeyinde tanımlıyorum.
Yani aynı makinede aynı web sitesini / sayfayı aynı anda yüklemek için 2 tarayıcı kullanıyorsanız, her ikisinin de aynı anda yüklenmesi gerekir.
ancak PHP hakkında konuştuğumuz için, oturumlar hakkında özel notlar almanız gerekir. Sayfalarınız oturumlar kullanıyorsa, sunucu bir seferde yalnızca bir sayfa sunar. Bunun nedeni, bir komut dosyası çıkana kadar oturum dosyasının kilitlenmesidir.
Bu örneğe bakın. 2 dosya aynı oturumdan, yani aynı tarayıcıdan yüklenir.
scripta.php requested scripta.php served
------+---+---------------------------------+------------------------>
scripta.php started
scriptb.php requested scriptb.php started
---------------+-------------------------------+-----------------+--->
scriptb.php served.
Scriptb.php'nin yalnızca scripta.php sunulduktan sonra başlatıldığına dikkat edin. bunun nedeni, scripta.php başladığında, oturum dosyasının diğer betiklere kilitlenmesidir, böylece scripta.php, oturum dosyasına yazabilir. Scripta.php tamamlandığında, oturum dosyasının kilidi açılır ve böylece diğer betikler onu kullanabilir. Bu nedenle scriptb.php oturum dosyası serbest kalana kadar bekleyecek ve ardından oturum dosyasını kilitleyecek ve kullanacaktır.
Bu işlem, birden çok komut dosyasının aynı oturum dosyasına yazmasının gecikmelere neden olmasını önlemek için tekrar etmeye devam edecektir. Bu nedenle session_write_close
, oturumu artık kullanmadığınız zamanlarda, özellikle de çok sayıda iframe veya AJAX kullanan bir web sitesinde () çağrısı yapmanız önerilir .