Php Devam Eden Döngüyü İptal Etme ?
-
Responsu yolladıktan sonra bişey yapamazsın orada artık ama şu belki işe yarayabilir
bi tane bool session key oluştur atıyorum $_SESSION["stop"] = false; diye
a.php sayfanda
for(;;)
{
if($_SESSION["stop"])
{
break;
}
}
b.php sayfanada bi buton koy buton $_SESSION["stop"] = true; ataması yapsın bi ihtimal çalışabilir.
-
Javascript timer koyup xmlhttp requestini de abort edebilirsin phpyi isin icine karistirmadan
-
buzukatak bunu yazdıTheMayk bunu yazdı
Hocam benim sıkıntı döngü koşul gerçekleştiğinde bitmesi değil, koşul bitmeden iptal etme.
Sorun %99 ihtimalle Session State'in çalışma süresi boyunca kilitlenmesi ile alakalı ve döngüyü iptal etmene gerek yok.
Sizinki gibi bir döngü veya uzunca süren herhangi bir işlem çalışmaya devam ederken , Session State kararlılık için kilitlenmiş olduğundan ardından gelen istekler Session'ın salı verilmesi için beklemeye geçer kuyruklanırlar.
Bunu engellemenin platforma göre farklı çözümleri var. En basiti, eğer bu uzun süren işlemin bulunduğu sayfada Session'a ihtiyaç yoksa bu isteğin / isteklerin Session devre dışı şekilde çalışmasını sağlamak veya aşağıdaki örnekteki gibi Session ile işi bitirip, döngüyü sonra başlatmak. PHP uzmanı değilim ama benzer bir sorun için session_write_close() 'u kullandım.
gibi.
Teşekkürler, session_write_close() ile problem çözüldü.
