• 13-11-2012, 14:30:17
    #1
    arkadaşlar şöyle bir sorun var web siteme bir bot yazdım bu bot sitelerin içerisindeki tüm linkleri veritabanıma ekliyor buraya kadar sorun yok şöyle bir sorun çıktı sürekli update sonucu Bandwidth sorunu yaşamaya başladım sorunu çözmek için yedekteki bilgisayarıma ubuntu kurdum ve gerekli apache mysql php phpmyadmin ve curl eklentilerini yükledim veritabanımı kurdum verileri phpmyadminden aktardım buraya kadar hiç sorun yok ama botu çalıştırdığımda mysqldan verileri çekip yeni linklerin eklenmesi gerektiğinde eklenmiyor web sitemde çalışan kodlar yeni kurduğum pc de çalışmıyor buyrun kodlar

    if (!@mysql_connect($dbhost, $dbuser, $dbpass)) {
      die("Veritabanina baglanilamadi...<br>HATA: ".mysql_error());
    }
    
    if (!@mysql_select_db($dbdata)) {
      die("Veritabani seçilemedi<br>HATA: ".mysql_error());
    }
    $id = $_GET['id']; 
    $yeniid=$id-1;
    
    $query = mysql_query("SELECT MAX(site_id) as ID FROM siteler");  
    $row    = mysql_fetch_array($query);  
    
    $enSonKayit = $row['ID'];  
    
    if($id!=0) {
    echo "<font color='red' size='5'>Bu Sayfayi Kapatmayin Simge Durumunda Kalsin Yada Yeni Bir Sekme Açin</font>";
    	echo "<br>
    	<a class='button' href='bot.php'>Baslangiç Sayfasina Dön</a>&nbsp; &nbsp;";
    	echo "<a class='button' href='link-bot.php?id=$yeniid'>Sonraki Web Sitesini Çek</a>";
    	echo"<meta http-equiv=\"refresh\" content=\"300;URL=link-bot.php?id=$yeniid \">";
    $siteler = mysql_fetch_array(mysql_query("SELECT * FROM siteler WHERE site_id='".mysql_real_escape_string($id)."'")); 
    $url = $siteler['url'];
    
    	 function getData($url){ 
            $ch = curl_init(); 
            $timeout = 10; 
            curl_setopt ($ch, CURLOPT_URL, $url); 
            curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
            curl_setopt ($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    		curl_setopt($ch,CURLOPT_REFERER,'$url');
            curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
    		curl_setopt ($ch, CURLOPT_TIMEOUT, $timeout); 
            curl_setopt ($ch, CURLOPT_HEADER, TRUE); 
            $data = curl_exec($ch); 
            curl_close($ch); 
            return $data; 
             
    } 
    
    $sayfa = getData($url); //Kullanimi 
    
    preg_match_all('%(<a href=["\'])(.*?)["\']%i', $sayfa, $cikti);
    
    for($x=0;$x<count($cikti[2]);$x++){ 
        $URI    = parse_url($cikti[2][$x]); 
        $link    = "http://".$URI['host']; 
    	
    //Veritabaninda var mi kontrol 
    $kontrol = mysql_num_rows(mysql_query("SELECT * FROM domainler WHERE url='".mysql_real_escape_string($link)."'")); 
    
    if ($kontrol){$sonuc="var";}else{$sonuc="yok";} 
    
    if ($sonuc=="yok"){//Önceden Kayit Yoksa 	
    	
    	$kayit = mysql_query("insert into domainler (url) values ('$link')");
    
    if($kayit){
    	echo "<p style='color:green'>$link isimli site sisteme kayit edildi</p>";
    }else{
    	echo "<p style='color:red'>$link isimli site sisteme kayit edilemedi</p>";
    }
    	
    }else{//Önceden Kayit Varsa 
    
                echo "<p style='color:red'>$link isimli site veritabaninda zaten var</p>"; 
    } }  	
    
    echo"<meta http-equiv=\"refresh\" content=\"0.1;URL=link-bot.php?id=$yeniid\">";
    }
    
    ?>
  • 13-11-2012, 15:34:40
    #2
    <?php

    phpinfo();

    yazıp bir dosyaya kaydet, ardından bu dosyayı çalıştırıp içinde "curl" var mı yok mu kontrol edersiniz. Yok ise curl kurunuz
  • 13-11-2012, 15:54:59
    #3
    sorun çözüldü çok saol curlu kurdum düzeldi