Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

php sorgusunu sonsuza kadar çalıştırma

200.000 kayıtlı veritabanını yeni sistemdeki veritabanına geçirme için bir script yazdım.değişiklik olmasa direk veritabanını içe aktar diyip kolon adlarını değiştirirdim ama sistem o şekilde değil. sorun ise scripti çalıştırdığımda yaklaşık 15 dakka sonra Hata 324 (net::ERR_EMPTY_RESPONSE): Sunucu, hiçbir veri göndermeden bağlantıyı kapattı. hatasını alıyorum 5000er 5000er attığımda ise sıkıntı yok 10dakka sonra da olsa script başarıyla çalışıyor.
kodun hepsi aşağıda değil sadece durumu özetlemek amaçlı set_time_limit(0) ile kodun çalışması sağlandığını anlatıyorum ancak 5000 üstü limitlerde Hata 324 (net::ERR_EMPTY_RESPONSE): Sunucu, hiçbir veri göndermeden bağlantıyı kapattı. hatası alıyorum. bunun önüne nasıl geçebilirim
if($toplamgosterim!=0){
    $edata=mysql_query("select * from ".$old_table." limit ".$baslangic.",".$toplamgosterim);
}else{
    $edata=mysql_query("select * from ".$old_table);
}
while ($edatas=mysql_fetch_array($edata)) {
     set_time_limit(0);
     $datas=$datas."(";
     for ($i=0; $i <count($oldarr) ; $i++) { 
         $datas=$datas."'".$edatas[$oldarr[$i]]."',";
     }
}
set_time_limit(0);
mysql_query("insert into ".$new_table." (".$tables.") ".$datas);
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • cfb adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    4 cevap - 0 soru
    PHP bu tür işleri yapmak için her ne kadar basit bir yol sunsa da, kullanmak pek mantıklı değildir. Özellikle web sunucusu üzerinden çağırarak kullanmak mantıklı değildir. Sunucunuz üzerinde konsol erişiminiz (SSH vs) varsa bu PHP dosyasını PHP-CLI ile çalıştırmanızı tavsiye ederim:

    php dosyaniz.php
    


    Bu şekilde web sunucuları üzerindeki kısıtlamalara takılmazsınız.

    Ayrıca MySQL tarafında da timeout ayarlarını falan yapmış olanız gerekecektir.
    • gungnir89 adlı üyenin fotoğrafı gungnir89
      teşekkürler başka yöntemle hallettim. ama doğru gibi duruyor oyüzden doğru cevap olarak işaretliyorum
      9 yıl önce yazılmış

Cevaplar

Hiç cevap bulunamadı.