Cronjob ayarlı PHP dosyası neden sonsuz döngüye girer?
6
●624
- 13-02-2015, 12:57:34Merhabalar... otomatik isimli tabloya daha önce verileri çekip kaydettim ve cron.php sayesinde Cronjob ile verileri 3 saatte bir siteye göndermek istiyorum. siteismi.com/cron.php olarak çalıştırdığımda veriyi sorunsuz bir şekilde otomatik tablosundan çekip siteye gönderiyor ( çektiği veriyi işlem sonunda otomatik tablosundan siliyor ).. Bu işlemi Cronjob ile yaptığımda sonsuz döngüye girerek her dakika 1 içeriği siteye gönderiyor.. Kodlama sonunda mysql_close($baglan); kullanmama rağmen bu nasıl olur?
- 13-02-2015, 14:04:52kodlarınızı paylaşma şansınız var mı?XAI_Technology adlı üyeden alıntı: mesajı görüntüleXAI_Technology bunu beğendi.1 kişi bunu beğendi.
- 13-02-2015, 15:22:15İlginiz için çok teşekkür ederim. Kodlarım aşağıda.. query olarak LIMIT 0,1, mysql_close() ve exit; ile bitirmeme rağmen Cronjob ile çalışan dosya sonsuz bir şekilde tablo boşalana kadar veritabanından veri çekiyor..
<meta http-equiv="content-type" content="text/html;charset=UTF-8"> <?php include 'baglan.php'; error_reporting(1); function eklenmis($link) { $kontrol = mysql_query("SELECT * FROM wp_posts WHERE post_title like '%$link%'"); if(mysql_num_rows($kontrol) > 0) { return true; } else { return false; } } function trkontrol($deger) { $deger=strtolower($deger); $turkce=array("ı","İ","Å","Å","Ã","ü","Ã","ö","Ä","Ä"," ","ı","g","ö","ü","ş","Ö","S","I","G","Ü","?","!","(",")"); $duzgun=array("i","i","s","s","u","u","o","o","g","g","-","i","g","o","u","s","O","S","I","G","I","G","U","",""); $deger=str_replace($turkce,$duzgun,$deger); return $deger; } header ('Content-type: text/html; charset=utf-8'); $baslikbul=mysql_query("SELECT * FROM otomatik ORDER BY RAND() DESC LIMIT 0,1"); while ($va = mysql_fetch_assoc($baslikbul)) { $idsil=$va['id']; $baslik=trim($va['baslik']); $resim = $va['resim']; $swf=$va['swf']; $aciklama = $va['aciklama']; $kategori = $va['kategori']; } /* $kategori = explode(',', $kategori); */ $now1 = date('Y-m-d H:i:s'); $now2 = date('Y-m-d H:i:s',strtotime("+3 hours")); if(eklenmis($baslik)) { echo $baslik.' isimli oyun daha önce eklenmiş<br>'; }else{ $post = array( 'comment_status' => 'open', // 'closed' yoruma kapali. 'ping_status' => 'open', //Ping durumu? 'post_author' => 1, //Yazarin kullanici ID'si. 'post_category' => array($kategori), //Yazi kategorileri. 'post_content' => $aciklama, //Yazinin içerigi. 'post_status' => 'publish', //Yeni yazinin yayimlanma durumu. Taslak, yayimlanmis, onay bekliyor. 'post_title' => $baslik, //Yazinin basligi. 'post_type' => 'post' //Yazinin türü, yazi, sayfa. ); $ayarcek = mysql_query("SELECT * FROM cybot_ayarlar"); $ayar = mysql_fetch_assoc($ayarcek); wp_set_current_user(1); $id = wp_insert_post($post); add_post_meta($id, $ayar['swfozelalan'], $swf); add_post_meta($id, $ayar['resimozelalan'], $resim); if($id){ echo '<font color="#356C17">'.$baslik.' oyunu eklenmistir</font>'; }else{ echo '<font color="#AD1E20">Bir sorun olustu !</font>'; } // EKLEME BITMISTIR } $idsiliniyor = mysql_query("DELETE FROM otomatik WHERE id='$idsil'"); if($idsiliniyor){ echo ' ve <font color="#356C17">'.$idsil.' id numaralı '.$baslik.' oyunu otomatik sistemden silinmistir</font>'; }else{ echo ' ve <font color="#AD1E20">'.$idsil.' numaralı '.$baslik.' silinememistir !</font>'; exit; } mysql_close($nelan); exit; ?> - 13-02-2015, 17:53:48XAI_Technology adlı üyeden alıntı: mesajı görüntüle
hocam kodlarda görünürde bir sıkıntı yok sonra exit ve mysql_close demenize ya da limit 0,1 demenize de gerek yok sonuçta kayıt sayısı sonsuz değil sonsuz döngüye girmesi için bir sebep yok/ben göremedim.
sayfayı harici olarak çağırdığınızda çalıştığını söylemiştiniz değil mi?
Not: header kodunu kaldırın sayfa içinden. iki adet chartset ataması yapılıyor sayfa içinde.
düzenleme: $now1 ve $now2 tarihleri neden tanımlandı nerde kullandığınızı göremedim - 13-02-2015, 20:43:24Cronu php olarak çalıştırıyorsanız dizin hatalarıyla karşılaşabilirsiniz. Direk adres olarak girince sorun olmuyorsa
wget -0- "site adresi"
şeklinde kullanmanızı tavsiye ederim - 13-02-2015, 20:44:08Misafir adlı üyeden alıntı: mesajı görüntüle
ispanyol, italyan ve lehçe dillerindeki özel karakter sorunları nedeniyle header üstünde <meta utf-8 kodu kullanmak zorunda kaldım.. $nov1 ve 2 kodlamanın bir önceki versiyonundan kalmış
..
kayamehmet adlı üyeden alıntı: mesajı görüntüle
iki türlüde denedim maalesef sonuç değişmiyor.. - 16-02-2015, 01:43:04Dostum bana kalırsa cron u yanlış oluşturuyorsun.
Kodlarda hata yok ama tut ki bir hatadan dolayı tarayıcıdan yazınca düzgün çalışıyor sadece; böyle bir durumda kayamehmet'in söylediği şekil işini görecekti. Hala sorun varsa, cron oluştururken bir hata yapıyorsundur.
Sayfa sonundaki mysql_close ve exit anlam taşımıyorlar zaten. mysql_close un amacı uzun işlemler yapılırken mysqlden kopmaktır.
..