[Linux-programlama] Re: Yan: Re: Yan: Re: Yan: Re: PHP belle k kullanımı
Hocam sorun kullandiginiz kodda. simple_html_dom.php dosyanizdaki kodlarda bir appneding islemi var ve sorunu orada aramaniz gerekiyor. On Wed, 15 Dec 2010 11:05:08 + (GMT), Guychmyrat Amanmyradov wrote: register_globals = Off for($iterator = $arrayObj->getIterator(); $iterator->valid(); $iterator->next()) { echo $iterator->key(). ' => ' . $iterator->current() . ' '; } şeklinde çalıştırdığımda PHP Catchable fatal error: Object of class ArrayObject could not be converted to string in hatası verdi. Ben de print_r(get_defined_vars()); şeklinde kontrol ettim. Kendi tanımladığım değişkenlerden büyük veri tutan hiçbirisi yok. Gerisi de PHP nin kendi varsayılan değişkenleri. --- 15/12/10 ÇAR TARIHINDE NURI AKMAN __ şöyle yazıyor: Kimden: Nuri Akman Konu: [Linux-programlama] Re: Yan: Re: Yan: Re: PHP bellek kullanımı Kime: "Özgür yazılımlarla çeşitli dillerde yazılım geliştirme" Tarihi: 15 Aralık 2010 Çarşamba, 12:46 Tekrar Merhaba, unset satırları ile birlikte bellekte bir şeyin kalmamasını istiyoruz. unset satırlarının sonuna şu sayfadaki kodu yazıp bellekte başka ne var kontrolünü deneyebilirsiniz: http://www.phpro.org/examples/List-all-variables.html [1] Bir de aklıma RegisterGlobals durumu geliyor. Bu ayar neye set edilmiş acaba? Selamlar 15.12.2010 12:35, Guychmyrat Amanmyradov yazmış: unset($counter); unset($currentLink); unset($html); unset($sonuc); echo $html; ekran çıktısı : PHP Notice: Undefined variable: html in /var/www/webreader/zamaninsertdetail.php on line 63 ---Using 106954752 bytes of ram.yazilanlink : http://www.zamantm.com/tm/newsDetail_getNewsById.action?newsId=18 [2] PHP Notice: Undefined variable: html in /var/www/webreader/zamaninsertdetail.php on line 63 ---Using 115343360 bytes of ram.yazilanlink : http://www.zamantm.com/tm/newsDetail_getNewsById.action?newsId=19 [3] PHP Notice: Undefined variable: html in /var/www/webreader/zamaninsertdetail.php on line 63 ---Using 123994112 bytes of ram.Segmentation fault --- 15/12/10 ÇAR TARIHINDE NURI AKMAN __ şöyle yazıyor: Kimden: Nuri Akman Konu: [Linux-programlama] Re: Yan: Re: PHP bellek kullanımı Kime: "Özgür yazılımlarla çeşitli dillerde yazılım geliştirme" Tarihi: 15 Aralık 2010 Çarşamba, 12:28 Merhaba, Unset satırlarıdan sonra bu değişkenlerin değerlerini enrana yazdırıp silinip silinmediğini kontrol etmeyi denediniz mi acaba? Ben, $html adlı değişkenin değerinin silinemiyor olduğundan şüpheleniyorum. Selamlar, Nuri Akman 15.12.2010 12:20, Atıf CEYLAN yazmış: Hocam okudugunuz icerik 100 kb olsa ve surekli append etseniz 200 mb eder. eger kodun devami vs.. yoksa burada kesinlikle bir buglik durum var diyebilirim. ozelden kodu ve linkleri gonderebilirseniz farkli version phpler var elimde deneyebilirim. On Wed, 15 Dec 2010 10:03:16 + (GMT), Guychmyrat Amanmyradov wrote: Merhaba. açıkçası ben de anlamadım. unsetler neden yok etmiyor. Aslında ilk önce $sonuc = ""; şeklinde denedim ama olmadı. Sonra kesin olsun diye unset yaptım. Ama bellek her while girişinde şişiyor ve kilitleniyor. Problem bir şekilde o değerler bellekten silinememesi. $linkObj'de herhangi bişey yok. Hadi olsa bile 250 defa çağırıldığında belleği doldurması imkansız. Çünkü orada yağtığım işlem şunlar : public function removeUndefinedChars($str) { $a = array('ò', 'ª', 'º', '--', ' ', 'Ã-', 'Åž', 'ÅŸ', 'ö', 'ü', 'ý', 'ä', 'ň', 'ò', 'Ã�', 'ç', 'ç', 'Â', 'ž', 'âEUR', 'œ'); $b = array('ň', 'Ş', 'ş', ' ', ' ', 'Ö', 'Ş', 'ş', 'ö', 'ü', 'ý', 'ä', 'ň', 'ň', 'Ý', 'ç', 'Ç', '', 'ž', '', ''); return str_replace($a, $b, $str); } public function convertToDobuleDigit($number) { $doubledigitnumbers = array( '1'=>'01', '2'=>'02', '3'=>'03', '4'=>'04', '5'=>'05', '6'=>'06', '7'=>'07', '8'=>'08', '9'=>'09' ); if(in_array($number, $doubledigitnumbers)) return $doubledigitnumbers[$number]; else return $number; } Ayrıca classın başında bir değişken de tanımlamadım. Problem web sayfaları okuduğumda haliyle çok veri geliyor ve o verileri bellekten atamaması. Şimdi başka bir yöntem ile halledeceğim onu. Bir tabloya tüm linkleri yazıp tek tek çağırma yöntemini kullanmayı düşünüyorum. Böyle bir probleme neden olan şeyi anlayamadım. --- 15/12/10 ÇAR TARIHINDE ATIF CEYLAN _ _ şöyle yazıyor: Kimden: Atıf CEYLAN Konu: [Linux-programlama] Re: PHP bellek kullanımı Kime: "Özgür yazılımlarla çeşitli dillerde yazılım geliştirme" Tarihi: 15 Aralık 2010 Çarşamba, 11:49 _ _ _Merhaba,_ _ _ _hocam baska bir sorun vardir. bir web sayfasinin bellegi tasirabilecek kadar contenti olmasi cok anlamsiz._ _ _ _unset degiskeni yok eder. Yok ederken (bir bag yoksa) datayi da yok etmesi gerekir. dilerseniz unset yapmayin ve en sondaki unsetleri silip yerine degiskenleri $sonuc = ""; gibi set edin. halen sorun oluyorsa $linkObj obj
[Linux-programlama] Re: PHP bellek kullanımı
Merhaba, Bişr web sitesindeki linklerin veya belirli bri içeriğin eçkilmesi konusunda http://www.jonasjohn.de/lab/htmlsql.htm sayfasındaki örneğe de bakabilirsiniz. Selamlar... 15.12.2010 10:37, Guychmyrat Amanmyradov yazmış: Merhabalar. Aşağıdaki gibi kodum var. Yaptığı işlem bir gazeteden sürekli olarak haberleri çekip belli bir kısmını veritabanına yazmak. Ben değişkenleri while içinde unset yapıp tekrar oluştursam da sanırım bellekten silmiyor bunu. Haliyle bellek şişiyor. Eğer ini_set('memory_limit', '512M'); kullanırsam 512 dolduruyor ve program duruyor. Bellek doldu diye. Eğer onu kullanmaz isem bilgisayar kullanılamaz hale geliyor, yani belleği dolduruyor ve sonra tüm bilgisayar belleği bitince duruyor. Bunu nasıl kontrol edebilirim acaba? Şimdiden teşekkürler. for($i = 1; $i <2000; $i++) { $currentLink = ""; $html = ""; $counter = 0; $result[] = ""; $sonuc = ""; $currentLink = "http://www.abc.com/?newsId=".$linkObj->convertToDobuleDigit($i); $html = file_get_html($currentLink); if ( preg_match("/font class=\"detail-spot\">/i", $html)) { foreach($html->find('font[class=detail-spot]') as $e) { $sonuc .= preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $e->innertext); } $time = date('y-m-d H:i:s', strtotime("now")); mysql_query("insert into ztext(content, link, time) Values('" . $linkObj->removeUndefinedChars( addslashes( $sonuc ) ). "', '".$currentLink."', '".$time."') "); echo "yazilanlink : ".$currentLink." \n\t"; } else { $lastlinkok = false; echo "currentlink : ".$currentLink." \n\t"; } unset($counter); unset($currentLink); unset($html); unset($sonuc); echo "---"; echo "Using ", memory_get_peak_usage(1), " bytes of ram."; } ___ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php ___ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
[Linux-programlama] Re: Yan: Re: Yan: Re: PHP bellek kullanı mı
Hocam sorun unsetle alakali degil. simple_html_dom.php 690 satirda patliyor. tum kodu debug edemedim zamanim yok ancak file_get_html fonksiyonu icinde create ettiginiz class methodlari patlatiyor. orada bosaltma islemleri yapmaniz gerekecek. On Wed, 15 Dec 2010 10:35:33 + (GMT), Guychmyrat Amanmyradov wrote: unset($counter); unset($currentLink); unset($html); unset($sonuc); echo $html; ekran çıktısı : PHP Notice: Undefined variable: html in /var/www/webreader/zamaninsertdetail.php on line 63 ---Using 106954752 bytes of ram.yazilanlink : http://www.zamantm.com/tm/newsDetail_getNewsById.action?newsId=18 PHP Notice: Undefined variable: html in /var/www/webreader/zamaninsertdetail.php on line 63 ---Using 115343360 bytes of ram.yazilanlink : http://www.zamantm.com/tm/newsDetail_getNewsById.action?newsId=19 PHP Notice: Undefined variable: html in /var/www/webreader/zamaninsertdetail.php on line 63 ---Using 123994112 bytes of ram.Segmentation fault --- 15/12/10 ÇAR TARIHINDE NURI AKMAN __ şöyle yazıyor: Kimden: Nuri Akman Konu: [Linux-programlama] Re: Yan: Re: PHP bellek kullanımı Kime: "Özgür yazılımlarla çeşitli dillerde yazılım geliştirme" Tarihi: 15 Aralık 2010 Çarşamba, 12:28 Merhaba, Unset satırlarıdan sonra bu değişkenlerin değerlerini enrana yazdırıp silinip silinmediğini kontrol etmeyi denediniz mi acaba? Ben, $html adlı değişkenin değerinin silinemiyor olduğundan şüpheleniyorum. Selamlar, Nuri Akman 15.12.2010 12:20, Atıf CEYLAN yazmış: Hocam okudugunuz icerik 100 kb olsa ve surekli append etseniz 200 mb eder. eger kodun devami vs.. yoksa burada kesinlikle bir buglik durum var diyebilirim. ozelden kodu ve linkleri gonderebilirseniz farkli version phpler var elimde deneyebilirim. On Wed, 15 Dec 2010 10:03:16 + (GMT), Guychmyrat Amanmyradov wrote: Merhaba. açıkçası ben de anlamadım. unsetler neden yok etmiyor. Aslında ilk önce $sonuc = ""; şeklinde denedim ama olmadı. Sonra kesin olsun diye unset yaptım. Ama bellek her while girişinde şişiyor ve kilitleniyor. Problem bir şekilde o değerler bellekten silinememesi. $linkObj'de herhangi bişey yok. Hadi olsa bile 250 defa çağırıldığında belleği doldurması imkansız. Çünkü orada yağtığım işlem şunlar : public function removeUndefinedChars($str) { $a = array('ò', 'ª', 'º', '--', ' ', 'Ã-', 'Åž', 'ÅŸ', 'ö', 'ü', 'ý', 'ä', 'ň', 'ò', 'Ã�', 'ç', 'ç', 'Â', 'ž', 'âEUR', 'œ'); $b = array('ň', 'Ş', 'ş', ' ', ' ', 'Ö', 'Ş', 'ş', 'ö', 'ü', 'ý', 'ä', 'ň', 'ň', 'Ý', 'ç', 'Ç', '', 'ž', '', ''); return str_replace($a, $b, $str); } public function convertToDobuleDigit($number) { $doubledigitnumbers = array( '1'=>'01', '2'=>'02', '3'=>'03', '4'=>'04', '5'=>'05', '6'=>'06', '7'=>'07', '8'=>'08', '9'=>'09' ); if(in_array($number, $doubledigitnumbers)) return $doubledigitnumbers[$number]; else return $number; } Ayrıca classın başında bir değişken de tanımlamadım. Problem web sayfaları okuduğumda haliyle çok veri geliyor ve o verileri bellekten atamaması. Şimdi başka bir yöntem ile halledeceğim onu. Bir tabloya tüm linkleri yazıp tek tek çağırma yöntemini kullanmayı düşünüyorum. Böyle bir probleme neden olan şeyi anlayamadım. --- 15/12/10 ÇAR TARIHINDE ATIF CEYLAN _ _ şöyle yazıyor: Kimden: Atıf CEYLAN Konu: [Linux-programlama] Re: PHP bellek kullanımı Kime: "Özgür yazılımlarla çeşitli dillerde yazılım geliştirme" Tarihi: 15 Aralık 2010 Çarşamba, 11:49 _ _ _Merhaba,_ _ _ _hocam baska bir sorun vardir. bir web sayfasinin bellegi tasirabilecek kadar contenti olmasi cok anlamsiz._ _ _ _unset degiskeni yok eder. Yok ederken (bir bag yoksa) datayi da yok etmesi gerekir. dilerseniz unset yapmayin ve en sondaki unsetleri silip yerine degiskenleri $sonuc = ""; gibi set edin. halen sorun oluyorsa $linkObj objenizi kontrol edin. recursive veya static islemler/degiskenler kalmis olabilir/_ _ _ _ _ _On Wed, 15 Dec 2010 08:37:06 + (GMT), Guychmyrat Amanmyradov wrote:_ _ _ _ _ Merhabalar. Aşağıdaki gibi kodum var. Yaptığı işlem bir gazeteden sürekli olarak haberleri çekip belli bir kısmını veritabanına yazmak. Ben değişkenleri while içinde unset yapıp tekrar oluştursam da sanırım bellekten silmiyor bunu. Haliyle bellek şişiyor. Eğer ini_set('memory_limit', '512M'); kullanırsam 512 dolduruyor ve program duruyor. Bellek doldu diye. Eğer onu kullanmaz isem bilgisayar kullanılamaz hale geliyor, yani belleği dolduruyor ve sonra tüm bilgisayar belleği bitince duruyor. Bunu nasıl kontrol edebilirim acaba? Şimdiden teşekkürler. for($i = 1; $i convertToDobuleDigit($i); $html = file_get_html($currentLink); if ( preg_match("/font class="detail-spot">/i", $html)) { foreach($html->find('font[class=detail-spot]') as $e) { $sonuc .= preg_replace("/(^[rn]*|[rn]+)[st]*[rn]+/", "n", $e->innertext); } $time = date('y-m
[Linux-programlama] Re: Yan: Re: Yan: Re: PHP bellek kullan ımı
Tekrar Merhaba, unset satırları ile birlikte bellekte bir şeyin kalmamasını istiyoruz. unset satırlarının sonuna şu sayfadaki kodu yazıp bellekte başka ne var kontrolünü deneyebilirsiniz: http://www.phpro.org/examples/List-all-variables.html Bir de aklıma |RegisterGlobals |durumu geliyor. Bu ayar neye set edilmiş acaba? Selamlar 15.12.2010 12:35, Guychmyrat Amanmyradov yazmış: unset($counter); unset($currentLink); unset($html); unset($sonuc); echo $html; ekran çıktısı : PHP Notice: Undefined variable: html in /var/www/webreader/zamaninsertdetail.php on line 63 ---Using 106954752 bytes of ram.yazilanlink : http://www.zamantm.com/tm/newsDetail_getNewsById.action?newsId=18 PHP Notice: Undefined variable: html in /var/www/webreader/zamaninsertdetail.php on line 63 ---Using 115343360 bytes of ram.yazilanlink : http://www.zamantm.com/tm/newsDetail_getNewsById.action?newsId=19 PHP Notice: Undefined variable: html in /var/www/webreader/zamaninsertdetail.php on line 63 ---Using 123994112 bytes of ram.Segmentation fault --- *15/12/10 Çar tarihinde Nuri Akman //* şöyle yazıyor: Kimden: Nuri Akman Konu: [Linux-programlama] Re: Yan: Re: PHP bellek kullanımı Kime: "Özgür yazılımlarla çeşitli dillerde yazılım geliştirme" Tarihi: 15 Aralık 2010 Çarşamba, 12:28 Merhaba, Unset satırlarıdan sonra bu değişkenlerin değerlerini enrana yazdırıp silinip silinmediğini kontrol etmeyi denediniz mi acaba? Ben, $html adlı değişkenin değerinin silinemiyor olduğundan şüpheleniyorum. Selamlar, Nuri Akman 15.12.2010 12:20, Atıf CEYLAN yazmış: Hocam okudugunuz icerik 100 kb olsa ve surekli append etseniz 200 mb eder. eger kodun devami vs.. yoksa burada kesinlikle bir buglik durum var diyebilirim. ozelden kodu ve linkleri gonderebilirseniz farkli version phpler var elimde deneyebilirim. On Wed, 15 Dec 2010 10:03:16 + (GMT), Guychmyrat Amanmyradov wrote: Merhaba. açıkçası ben de anlamadım. unsetler neden yok etmiyor. Aslında ilk önce $sonuc = ""; şeklinde denedim ama olmadı. Sonra kesin olsun diye unset yaptım. Ama bellek her while girişinde şişiyor ve kilitleniyor. Problem bir şekilde o değerler bellekten silinememesi. $linkObj'de herhangi bişey yok. Hadi olsa bile 250 defa çağırıldığında belleği doldurması imkansız. Çünkü orada yağtığım işlem şunlar : public function removeUndefinedChars($str) { $a = array('ò', 'ª', 'º', '---', ' ', 'Ã--', 'Åz(', 'ÅY"', 'ö', 'ü', 'ý', 'ä', 'Å^', 'ò', 'Ã?', 'ç', 'ç', 'Â', 'ž', 'âEUR', 'oe'); $b = array('n(', 'Ş', 'ş', ' ', ' ','Ö', 'Ş', 'ş', 'ö', 'ü', 'y'', 'ä', 'n(', 'n(', 'Y'', 'ç', 'Ç', '', 'z(', '', ''); return str_replace($a, $b, $str); } public function convertToDobuleDigit($number) { $doubledigitnumbers = array( '1'=>'01', '2'=>'02', '3'=>'03', '4'=>'04', '5'=>'05', '6'=>'06', '7'=>'07', '8'=>'08', '9'=>'09' ); if(in_array($number, $doubledigitnumbers)) return $doubledigitnumbers[$number]; else return $number; } Ayrıca classın başında bir değişken de tanımlamadım. Problem web sayfaları okuduğumda haliyle çok veri geliyor ve o verileri bellekten atamaması. Şimdi başka bir yöntem ile halledeceğim onu. Bir tabloya tüm linkleri yazıp tek tek çağırma yöntemini kullanmayı düşünüyorum. Böyle bir probleme neden olan şeyi anlayamadım. --- *15/12/10 Çar tarihinde Atıf CEYLAN //* şöyle yazıyor: Kimden: Atıf CEYLAN Konu: [Linux-programlama] Re: PHP bellek kullanımı Kime: "Özgür yazılımlarla çeşitli dillerde yazılım geliştirme" Tarihi: 15 Aralık 2010 Çarşamba, 11:49 Merhaba, hocam baska bir sorun vardir. bir web sayfasinin bellegi tasirabilecek kadar contenti olmasi cok anlamsiz. unset degiskeni yok eder. Yok ederken (bir bag yoksa) datayi da yok etmesi gerekir. dilerseniz unset yapmayin ve en sondaki unsetleri silip yerine degiskenleri $sonuc = ""; gibi set edin. halen sorun oluyorsa $linkObj objenizi kontrol edin. recursive veya static islemler/degiskenler kalmis ola
[Linux-programlama] Yan: Re: Yan: Re: PHP bellek kullanım ı
unset($counter); unset($currentLink); unset($html); unset($sonuc); echo $html; ekran çıktısı : PHP Notice: Undefined variable: html in /var/www/webreader/zamaninsertdetail.php on line 63 ---Using 106954752 bytes of ram.yazilanlink : http://www.zamantm.com/tm/newsDetail_getNewsById.action?newsId=18 PHP Notice: Undefined variable: html in /var/www/webreader/zamaninsertdetail.php on line 63 ---Using 115343360 bytes of ram.yazilanlink : http://www.zamantm.com/tm/newsDetail_getNewsById.action?newsId=19 PHP Notice: Undefined variable: html in /var/www/webreader/zamaninsertdetail.php on line 63 ---Using 123994112 bytes of ram.Segmentation fault --- 15/12/10 Çar tarihinde Nuri Akman şöyle yazıyor: Kimden: Nuri Akman Konu: [Linux-programlama] Re: Yan: Re: PHP bellek kullanımı Kime: "Özgür yazılımlarla çeşitli dillerde yazılım geliştirme" Tarihi: 15 Aralık 2010 Çarşamba, 12:28 Merhaba, Unset satırlarıdan sonra bu değişkenlerin değerlerini enrana yazdırıp silinip silinmediğini kontrol etmeyi denediniz mi acaba? Ben, $html adlı değişkenin değerinin silinemiyor olduğundan şüpheleniyorum. Selamlar, Nuri Akman 15.12.2010 12:20, Atıf CEYLAN yazmış: Hocam okudugunuz icerik 100 kb olsa ve surekli append etseniz 200 mb eder. eger kodun devami vs.. yoksa burada kesinlikle bir buglik durum var diyebilirim. ozelden kodu ve linkleri gonderebilirseniz farkli version phpler var elimde deneyebilirim. On Wed, 15 Dec 2010 10:03:16 + (GMT), Guychmyrat Amanmyradov wrote: Merhaba. açıkçası ben de anlamadım. unsetler neden yok etmiyor. Aslında ilk önce $sonuc = ""; şeklinde denedim ama olmadı. Sonra kesin olsun diye unset yaptım. Ama bellek her while girişinde şişiyor ve kilitleniyor. Problem bir şekilde o değerler bellekten silinememesi. $linkObj'de herhangi bişey yok. Hadi olsa bile 250 defa çağırıldığında belleği doldurması imkansız. Çünkü orada yağtığım işlem şunlar : public function removeUndefinedChars($str) { $a = array('ò', 'ª', 'º', '—', ' ', 'Ö', 'Åž', 'ÅŸ', 'ö', 'ü', 'ý', 'ä', 'ň', 'ò', 'Ã�', 'ç', 'ç', 'Â', 'ž', 'â€', 'œ'); $b = array('ň', 'Ş', 'ş', ' ', ' ', 'Ö', 'Ş', 'ş', 'ö', 'ü', 'ý', 'ä', 'ň', 'ň', 'Ý', 'ç', 'Ç', '', 'ž', '', ''); return str_replace($a, $b, $str); } public function convertToDobuleDigit($number) { $doubledigitnumbers = array( '1'=>'01', '2'=>'02', '3'=>'03', '4'=>'04', '5'=>'05', '6'=>'06', '7'=>'07', '8'=>'08', '9'=>'09' ); if(in_array($number, $doubledigitnumbers)) return $doubledigitnumbers[$number]; else return $number; } Ayrıca classın başında bir değişken de tanımlamadım. Problem web sayfaları okuduğumda haliyle çok veri geliyor ve o verileri bellekten atamaması. Şimdi başka bir yöntem ile halledeceğim onu. Bir tabloya tüm linkleri yazıp tek tek çağırma yöntemini kullanmayı düşünüyorum. Böyle bir probleme neden olan şeyi anlayamadım. --- 15/12/10 Çar tarihinde Atıf CEYLAN şöyle yazıyor: Kimden: Atıf CEYLAN Konu: [Linux-programlama] Re: PHP bellek kullanımı Kime: "Özgür yazılımlarla çeşitli dillerde yazılım geliştirme" Tarihi: 15 Aralık 2010 Çarşamba, 11:4
[Linux-programlama] Yan: Re: Yan: Re: PHP bellek kullanım ı
Yok cache kurmadım ve cachele ilgili hiçbişey yapmadım. Eğer bellekten değişkenleri silebilirse, cachelik bir problem olucağını sanmıyorum. Aslında cachelik bişey göremedim. Başka php çalıştırmıyorum. Ve her while içinde ram kullanımını kontrol ediyorum ve bariz bir şekilde arttığı görünüyor. --- 15/12/10 Çar tarihinde Onur AKTAŞ şöyle yazıyor: Kimden: Onur AKTAŞ Konu: [Linux-programlama] Re: Yan: Re: PHP bellek kullanımı Kime: "Özgür yazılımlarla çeşitli dillerde yazılım geliştirme" Tarihi: 15 Aralık 2010 Çarşamba, 12:27 Cache'i kapatmayı veya ayarlarını değiştirmeyi denediniz mi ? Sunucunuzda apc veya benzeri bir cache programı kurulumu ? Bellekten silinemiyorsa, büyük ihtimalle cache kullanılıyordur. Şu ihtimallde olabilir, başka php processleri belleğinizi hemen hemen dolduruyor olabilir. Onuda kontrol edin isterseniz. 2010/12/15 Atıf CEYLAN Hocam okudugunuz icerik 100 kb olsa ve surekli append etseniz 200 mb eder. eger kodun devami vs.. yoksa burada kesinlikle bir buglik durum var diyebilirim. ozelden kodu ve linkleri gonderebilirseniz farkli version phpler var elimde deneyebilirim. On Wed, 15 Dec 2010 10:03:16 + (GMT), Guychmyrat Amanmyradov wrote: Merhaba. açıkçası ben de anlamadım. unsetler neden yok etmiyor. Aslında ilk önce $sonuc = ""; şeklinde denedim ama olmadı. Sonra kesin olsun diye unset yaptım. Ama bellek her while girişinde şişiyor ve kilitleniyor. Problem bir şekilde o değerler bellekten silinememesi. $linkObj'de herhangi bişey yok. Hadi olsa bile 250 defa çağırıldığında belleği doldurması imkansız. Çünkü orada yağtığım işlem şunlar : public function removeUndefinedChars($str) { $a = array('ò', 'ª', 'º', '—', ' ', 'Ö', 'Åž', 'ÅŸ', 'ö', 'ü', 'ý', 'ä', 'ň', 'ò', 'à ', 'ç', 'ç', 'Â', 'ž', 'â€', 'œ'); $b = array('ň', 'Ş', 'ş', ' ', ' ', 'Ö', 'Ş', 'ş', 'ö', 'ü', 'ý', 'ä', 'ň', 'ň', 'Ý', 'ç', 'Ç', '', 'ž', '', ''); return str_replace($a, $b, $str); } public function convertToDobuleDigit($number) { $doubledigitnumbers = array( '1'=>'01', '2'=>'02', '3'=>'03', '4'=>'04', '5'=>'05', '6'=>'06', '7'=>'07', '8'=>'08', '9'=>'09' ); if(in_array($number, $doubledigitnumbers)) return $doubledigitnumbers[$number]; else return $number; } Ayrıca classın başında bir değişken de tanımlamadım. Problem web sayfaları okuduğumda haliyle çok veri geliyor ve o verileri bellekten atamaması. Şimdi başka bir yöntem ile halledeceğim onu. Bir tabloya tüm linkleri yazıp tek tek çağırma yöntemini kullanmayı düşünüyorum. Böyle bir probleme neden olan şeyi anlayamadım. --- 15/12/10 Çar tarihinde Atıf CEYLAN şöyle yazıyor: Kimden: Atıf CEYLAN Konu: [Linux-programlama] Re: PHP bellek kullanımı Kime: "Özgür yazılımlarla çeşitli dillerde yazılım geliştirme" Tarihi: 15 Aralık 2010 Çarşamba, 11:49 Merhaba, hocam baska bir sorun vardir. bir web sayfasinin bellegi tasirabilecek kadar contenti olmasi cok anlamsiz. unset degiskeni yok eder. Yok ederken (bir bag yoksa) datayi da yok etmesi gerekir. dilerseniz unset yapmayin ve en sondaki unsetleri silip yerine degiskenleri $sonuc = ""; gibi set edin. halen sorun oluyorsa $linkObj objenizi kontrol edin. recursive veya static islemler/degiskenler kalmis olabilir/ On Wed, 15 Dec 2010 08:37:06 + (GMT), Guychmyrat Amanmyradov wrote: Merhabalar. Aşağıdaki gibi kodum var. Yaptığı işlem bir gazeteden sürekli olarak haberleri çekip belli bir kısmını veritabanına yazmak. Ben değişkenleri while içinde unset yapıp tekrar oluştursam da sanırım bellekten silmiyor bunu. Haliyle bellek şişiyor. Eğer ini_set('memory_limit', '512M'); kullanırsam 512 dolduruyor ve program duruyor. Bellek doldu diye. Eğer onu kullanmaz isem bilgisayar kullanılamaz hale geliyor, yani belleği dolduruyor ve sonra tüm bilgisayar belleği bitince duruyor. Bunu nasıl kontrol edebilirim acaba? Şimdiden teşekkürler. for($i = 1; $i <2000; $i++) { $currentLink = ""; $html = ""; $counter = 0; $result[] = ""; $sonuc = ""; $currentLink = "http://www.abc.com/?newsId=".$linkObj->convertToDobuleDigit($i); $html = file_get_html($currentLink); if ( preg_match("/font class=\"detail-spot\">/i", $html)) { foreach($html->find('font[class=detail-spot]') as $e) { $sonuc .= preg_repla
[Linux-programlama] Re: Yan: Re: PHP bellek kullanımı
Merhaba, Unset satırlarıdan sonra bu değişkenlerin değerlerini enrana yazdırıp silinip silinmediğini kontrol etmeyi denediniz mi acaba? Ben, $html adlı değişkenin değerinin silinemiyor olduğundan şüpheleniyorum. Selamlar, Nuri Akman 15.12.2010 12:20, Atıf CEYLAN yazmış: Hocam okudugunuz icerik 100 kb olsa ve surekli append etseniz 200 mb eder. eger kodun devami vs.. yoksa burada kesinlikle bir buglik durum var diyebilirim. ozelden kodu ve linkleri gonderebilirseniz farkli version phpler var elimde deneyebilirim. On Wed, 15 Dec 2010 10:03:16 + (GMT), Guychmyrat Amanmyradov wrote: Merhaba. açıkçası ben de anlamadım. unsetler neden yok etmiyor. Aslında ilk önce $sonuc = ""; şeklinde denedim ama olmadı. Sonra kesin olsun diye unset yaptım. Ama bellek her while girişinde şişiyor ve kilitleniyor. Problem bir şekilde o değerler bellekten silinememesi. $linkObj'de herhangi bişey yok. Hadi olsa bile 250 defa çağırıldığında belleği doldurması imkansız. Çünkü orada yağtığım işlem şunlar : public function removeUndefinedChars($str) { $a = array('ò', 'ª', 'º', '?', ' ', 'Ã?', 'Å?', 'Å?', 'ö', 'ü', 'ý', 'ä', 'Å?', 'ò', 'Ã?', 'ç', 'ç', 'Â', 'ž', 'â?', '?'); $b = array('n(', 'Ş', 'ş', ' ', ' ','Ö', 'Ş', 'ş', 'ö', 'ü', 'y'', 'ä', 'n(', 'n(', 'Y'', 'ç', 'Ç', '', 'z(', '', ''); return str_replace($a, $b, $str); } public function convertToDobuleDigit($number) { $doubledigitnumbers = array( '1'=>'01', '2'=>'02', '3'=>'03', '4'=>'04', '5'=>'05', '6'=>'06', '7'=>'07', '8'=>'08', '9'=>'09' ); if(in_array($number, $doubledigitnumbers)) return $doubledigitnumbers[$number]; else return $number; } Ayrıca classın başında bir değişken de tanımlamadım. Problem web sayfaları okuduğumda haliyle çok veri geliyor ve o verileri bellekten atamaması. Şimdi başka bir yöntem ile halledeceğim onu. Bir tabloya tüm linkleri yazıp tek tek çağırma yöntemini kullanmayı düşünüyorum. Böyle bir probleme neden olan şeyi anlayamadım. --- *15/12/10 Çar tarihinde Atıf CEYLAN //* şöyle yazıyor: Kimden: Atıf CEYLAN Konu: [Linux-programlama] Re: PHP bellek kullanımı Kime: "Özgür yazılımlarla çeşitli dillerde yazılım geliştirme" Tarihi: 15 Aralık 2010 Çarşamba, 11:49 Merhaba, hocam baska bir sorun vardir. bir web sayfasinin bellegi tasirabilecek kadar contenti olmasi cok anlamsiz. unset degiskeni yok eder. Yok ederken (bir bag yoksa) datayi da yok etmesi gerekir. dilerseniz unset yapmayin ve en sondaki unsetleri silip yerine degiskenleri $sonuc = ""; gibi set edin. halen sorun oluyorsa $linkObj objenizi kontrol edin. recursive veya static islemler/degiskenler kalmis olabilir/ On Wed, 15 Dec 2010 08:37:06 + (GMT), Guychmyrat Amanmyradov wrote: Merhabalar. Aşağıdaki gibi kodum var. Yaptığı işlem bir gazeteden sürekli olarak haberleri çekip belli bir kısmını veritabanına yazmak. Ben değişkenleri while içinde unset yapıp tekrar oluştursam da sanırım bellekten silmiyor bunu. Haliyle bellek şişiyor. Eğer ini_set('memory_limit', '512M'); kullanırsam 512 dolduruyor ve program duruyor. Bellek doldu diye. Eğer onu kullanmaz isem bilgisayar kullanılamaz hale geliyor, yani belleği dolduruyor ve sonra tüm bilgisayar belleği bitince duruyor. Bunu nasıl kontrol edebilirim acaba? Şimdiden teşekkürler. for($i = 1; $i <2000; $i++) { $currentLink = ""; $html = ""; $counter = 0; $result[] = ""; $sonuc = ""; $currentLink = "http://www.abc.com/?newsId=".$linkObj->convertToDobuleDigit($i); $html = file_get_html($currentLink); if ( preg_match("/font class=\"detail-spot\">/i", $html)) { foreach($html->find('font[class=detail-spot]') as $e) { $sonuc .= preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $e->innertext); } $time = date('y-m-d H:i:s', strtotime("now")); mysql_query("insert into ztext(content, link, time) Values('" . $linkObj->removeUndefinedChars( addslashes( $sonuc ) ). "', '".$currentLink."', '".$time."
[Linux-programlama] Re: Yan: Re: PHP bellek kullanımı
Cache'i kapatmayı veya ayarlarını değiştirmeyi denediniz mi ? Sunucunuzda apc veya benzeri bir cache programı kurulumu ? Bellekten silinemiyorsa, büyük ihtimalle cache kullanılıyordur. Şu ihtimallde olabilir, başka php processleri belleğinizi hemen hemen dolduruyor olabilir. Onuda kontrol edin isterseniz. 2010/12/15 Atıf CEYLAN > Hocam okudugunuz icerik 100 kb olsa ve surekli append etseniz 200 mb eder. > eger kodun devami vs.. yoksa burada kesinlikle bir buglik durum var > diyebilirim. > > ozelden kodu ve linkleri gonderebilirseniz farkli version phpler var elimde > deneyebilirim. > > On Wed, 15 Dec 2010 10:03:16 + (GMT), Guychmyrat Amanmyradov < > guychmy...@yahoo.com.tr> wrote: > > > Merhaba. açıkçası ben de anlamadım. unsetler neden yok etmiyor. Aslında ilk > önce $sonuc = ""; şeklinde denedim ama olmadı. Sonra kesin olsun diye unset > yaptım. Ama bellek her while girişinde şişiyor ve kilitleniyor. > > Problem bir şekilde o değerler bellekten silinememesi. > > $linkObj'de herhangi bişey yok. Hadi olsa bile 250 defa çağırıldığında > belleği doldurması imkansız. Çünkü orada yağtığım işlem şunlar : > > public function removeUndefinedChars($str) > { > $a = array('ò', 'ª', 'º', '—', ' > ', 'Ö', 'Åž', 'ÅŸ', 'ö', 'ü', 'ý', 'ä', 'ň', 'ò', 'à ', 'ç', 'ç', > 'Â', 'ž', 'â€', 'œ'); > $b = array('ň', 'Ş', 'ş', ' ', ' ','Ö', 'Ş', 'ş', 'ö', > 'ü', 'ý', 'ä', 'ň', 'ň', 'Ý', 'ç', 'Ç', '', 'ž', '', ''); > > return str_replace($a, $b, $str); > } > > public function convertToDobuleDigit($number) > { > $doubledigitnumbers = array( > '1'=>'01', > '2'=>'02', > '3'=>'03', > '4'=>'04', > '5'=>'05', > '6'=>'06', > '7'=>'07', > '8'=>'08', > '9'=>'09' > ); > > if(in_array($number, $doubledigitnumbers)) > return $doubledigitnumbers[$number]; > else > return $number; > } > > > Ayrıca classın başında bir değişken de tanımlamadım. Problem web sayfaları > okuduğumda haliyle çok veri geliyor ve o verileri bellekten atamaması. > Şimdi başka bir yöntem ile halledeceğim onu. Bir tabloya tüm linkleri yazıp > tek tek çağırma yöntemini kullanmayı düşünüyorum. Böyle bir probleme neden > olan şeyi anlayamadım. > > --- *15/12/10 Çar tarihinde Atıf CEYLAN * şöyle yazıyor: > > > Kimden: Atıf CEYLAN > Konu: [Linux-programlama] Re: PHP bellek kullanımı > Kime: "Özgür yazılımlarla çeşitli dillerde yazılım geliştirme" > Tarihi: 15 Aralık 2010 Çarşamba, 11:49 > > Merhaba, > > hocam baska bir sorun vardir. bir web sayfasinin bellegi tasirabilecek > kadar contenti olmasi cok anlamsiz. > > unset degiskeni yok eder. Yok ederken (bir bag yoksa) datayi da yok etmesi > gerekir. dilerseniz unset yapmayin ve en sondaki unsetleri silip yerine > degiskenleri $sonuc = ""; gibi set edin. halen sorun oluyorsa $linkObj > objenizi kontrol edin. recursive veya static islemler/degiskenler kalmis > olabilir/ > > > > On Wed, 15 Dec 2010 08:37:06 + (GMT), Guychmyrat Amanmyradov wrote: > > Merhabalar. > Aşağıdaki gibi kodum var. Yaptığı işlem bir gazeteden sürekli olarak > haberleri çekip belli bir kısmını veritabanına yazmak. Ben değişkenleri > while içinde unset yapıp tekrar oluştursam da sanırım bellekten silmiyor > bunu. Haliyle bellek şişiyor. > > Eğer > ini_set('memory_limit', '512M'); > > kullanırsam 512 dolduruyor ve program duruyor. Bellek doldu diye. Eğer onu > kullanmaz isem bilgisayar kullanılamaz hale geliyor, yani belleği dolduruyor > ve sonra tüm bilgisayar belleği bitince duruyor. > > Bunu nasıl kontrol edebilirim acaba? > > Şimdiden teşekkürler. > > > >for($i = 1; $i <2000; $i++) >{ > $currentLink = ""; > $html = ""; > $counter = 0; > $result[] = ""; > $sonuc = ""; > > $currentLink = "http://www.abc.com/?newsId= > ".$linkObj->convertToDobuleDigit($i); > > $html = file_get_html($currentLink); > > > > if ( preg_match("/font class=\"detail-spot\">/i", $html)) { > > > > foreach($html->find('font[class=detail-spot]') as $e) > { >$sonuc .= > preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $e->innertext); > > } > > $time = date('y-m-d H:i:s', strtotime("now")); > mysql_query("insert into ztext(content, link, time) > Values('" . $linkObj->removeUndefinedChars( addslashes( $sonuc ) ). "', > '".$currentLink."', '".$time."') "); > > > echo "yazilanlink : ".$currentLink." \n\t";
[Linux-programlama] Re: Yan: Re: PHP bellek kullanımı
Hocam okudugunuz icerik 100 kb olsa ve surekli append etseniz 200 mb eder. eger kodun devami vs.. yoksa burada kesinlikle bir buglik durum var diyebilirim. ozelden kodu ve linkleri gonderebilirseniz farkli version phpler var elimde deneyebilirim. On Wed, 15 Dec 2010 10:03:16 + (GMT), Guychmyrat Amanmyradov wrote: Merhaba. açıkçası ben de anlamadım. unsetler neden yok etmiyor. Aslında ilk önce $sonuc = ""; şeklinde denedim ama olmadı. Sonra kesin olsun diye unset yaptım. Ama bellek her while girişinde şişiyor ve kilitleniyor. Problem bir şekilde o değerler bellekten silinememesi. $linkObj'de herhangi bişey yok. Hadi olsa bile 250 defa çağırıldığında belleği doldurması imkansız. Çünkü orada yağtığım işlem şunlar : public function removeUndefinedChars($str) { $a = array('ò', 'ª', 'º', '', ' ', 'Ã', 'Å', 'Å', 'ö', 'ü', 'ý', 'ä', 'Å', 'ò', 'Ã', 'ç', 'ç', 'Â', 'ž', 'â', ''); $b = array('ň', 'Ş', 'ş', ' ', ' ', 'Ö', 'Ş', 'ş', 'ö', 'ü', 'ý', 'ä', 'ň', 'ň', 'Ý', 'ç', 'Ç', '', 'ž', '', ''); return str_replace($a, $b, $str); } public function convertToDobuleDigit($number) { $doubledigitnumbers = array( '1'=>'01', '2'=>'02', '3'=>'03', '4'=>'04', '5'=>'05', '6'=>'06', '7'=>'07', '8'=>'08', '9'=>'09' ); if(in_array($number, $doubledigitnumbers)) return $doubledigitnumbers[$number]; else return $number; } Ayrıca classın başında bir değişken de tanımlamadım. Problem web sayfaları okuduğumda haliyle çok veri geliyor ve o verileri bellekten atamaması. Şimdi başka bir yöntem ile halledeceğim onu. Bir tabloya tüm linkleri yazıp tek tek çağırma yöntemini kullanmayı düşünüyorum. Böyle bir probleme neden olan şeyi anlayamadım. --- 15/12/10 ÇAR TARIHINDE ATIF CEYLAN __ şöyle yazıyor: Kimden: Atıf CEYLAN Konu: [Linux-programlama] Re: PHP bellek kullanımı Kime: "Özgür yazılımlarla çeşitli dillerde yazılım geliştirme" Tarihi: 15 Aralık 2010 Çarşamba, 11:49 Merhaba, hocam baska bir sorun vardir. bir web sayfasinin bellegi tasirabilecek kadar contenti olmasi cok anlamsiz. unset degiskeni yok eder. Yok ederken (bir bag yoksa) datayi da yok etmesi gerekir. dilerseniz unset yapmayin ve en sondaki unsetleri silip yerine degiskenleri $sonuc = ""; gibi set edin. halen sorun oluyorsa $linkObj objenizi kontrol edin. recursive veya static islemler/degiskenler kalmis olabilir/ On Wed, 15 Dec 2010 08:37:06 + (GMT), Guychmyrat Amanmyradov wrote: Merhabalar. Aşağıdaki gibi kodum var. Yaptığı işlem bir gazeteden sürekli olarak haberleri çekip belli bir kısmını veritabanına yazmak. Ben değişkenleri while içinde unset yapıp tekrar oluştursam da sanırım bellekten silmiyor bunu. Haliyle bellek şişiyor. Eğer ini_set('memory_limit', '512M'); kullanırsam 512 dolduruyor ve program duruyor. Bellek doldu diye. Eğer onu kullanmaz isem bilgisayar kullanılamaz hale geliyor, yani belleği dolduruyor ve sonra tüm bilgisayar belleği bitince duruyor. Bunu nasıl kontrol edebilirim acaba? Şimdiden teşekkürler. for($i = 1; $i convertToDobuleDigit($i); $html = file_get_html($currentLink); if ( preg_match("/font class="detail-spot">/i", $html)) { foreach($html->find('font[class=detail-spot]') as $e) { $sonuc .= preg_replace("/(^[rn]*|[rn]+)[st]*[rn]+/", "n", $e->innertext); } $time = date('y-m-d H:i:s', strtotime("now")); mysql_query("insert into ztext(content, link, time) Values('" . $linkObj->removeUndefinedChars( addslashes( $sonuc ) ). "', '".$currentLink."', '".$time."') "); echo "yazilanlink : ".$currentLink." nt"; } else { $lastlinkok = false; echo "currentlink : ".$currentLink." nt"; } unset($counter); unset($currentLink); unset($html); unset($sonuc); echo "---"; echo "Using ", memory_get_peak_usage(1), " bytes of ram."; } -- /** * @AUTHOR Atıf CEYLAN * Software Developer & System Admin * http://www.atifceylan.com */ -Satır İçi Eki Var- ___ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr https://liste.linux.org.tr/mailman/listinfo/linux-programlama [1] Liste kurallari: http://liste.linux.org.tr/kurallar.php [2] -- /** * @AUTHOR Atıf CEYLAN * Software Developer & System Admin * http://www.atifceylan.com */ Links: -- [1] https://liste.linux.org.tr/mailman/listinfo/linux-programlama [2] http://liste.linux.org.tr/kurallar.php ___ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
[Linux-programlama] Yan: Re: PHP bellek kullanımı
Merhaba. açıkçası ben de anlamadım. unsetler neden yok etmiyor. Aslında ilk önce $sonuc = ""; şeklinde denedim ama olmadı. Sonra kesin olsun diye unset yaptım. Ama bellek her while girişinde şişiyor ve kilitleniyor. Problem bir şekilde o değerler bellekten silinememesi. $linkObj'de herhangi bişey yok. Hadi olsa bile 250 defa çağırıldığında belleği doldurması imkansız. Çünkü orada yağtığım işlem şunlar : public function removeUndefinedChars($str) { $a = array('ò', 'ª', 'º', '', '', 'Ã', 'Å', 'Å', 'ö', 'ü', 'ý', 'ä', 'Å', 'ò', 'Ã', 'ç', 'ç', 'Â', 'ž', 'â', ''); $b = array('ň', 'Ş', 'ş', ' ', ' ', 'Ö', 'Ş', 'ş', 'ö', 'ü', 'ý', 'ä', 'ň', 'ň', 'Ý', 'ç', 'Ç', '', 'ž', '', ''); return str_replace($a, $b, $str); } public function convertToDobuleDigit($number) { $doubledigitnumbers = array( '1'=>'01', '2'=>'02', '3'=>'03', '4'=>'04', '5'=>'05', '6'=>'06', '7'=>'07', '8'=>'08', '9'=>'09' ); if(in_array($number, $doubledigitnumbers)) return $doubledigitnumbers[$number]; else return $number; } Ayrıca classın başında bir değişken de tanımlamadım. Problem web sayfaları okuduğumda haliyle çok veri geliyor ve o verileri bellekten atamaması. Şimdi başka bir yöntem ile halledeceğim onu. Bir tabloya tüm linkleri yazıp tek tek çağırma yöntemini kullanmayı düşünüyorum. Böyle bir probleme neden olan şeyi anlayamadım. --- 15/12/10 Çar tarihinde Atıf CEYLAN şöyle yazıyor: Kimden: Atıf CEYLAN Konu: [Linux-programlama] Re: PHP bellek kullanımı Kime: "Özgür yazılımlarla çeşitli dillerde yazılım geliştirme" Tarihi: 15 Aralık 2010 Çarşamba, 11:49 Merhaba, hocam baska bir sorun vardir. bir web sayfasinin bellegi tasirabilecek kadar contenti olmasi cok anlamsiz. unset degiskeni yok eder. Yok ederken (bir bag yoksa) datayi da yok etmesi gerekir. dilerseniz unset yapmayin ve en sondaki unsetleri silip yerine degiskenleri $sonuc = ""; gibi set edin. halen sorun oluyorsa $linkObj objenizi kontrol edin. recursive veya static islemler/degiskenler kalmis olabilir/ On Wed, 15 Dec 2010 08:37:06 + (GMT), Guychmyrat Amanmyradov wrote: Merhabalar. Aşağıdaki gibi kodum var. Yaptığı işlem bir gazeteden sürekli olarak haberleri çekip belli bir kısmını veritabanına yazmak. Ben değişkenleri while içinde unset yapıp tekrar oluştursam da sanırım bellekten silmiyor bunu. Haliyle bellek şişiyor. Eğer ini_set('memory_limit', '512M'); kullanırsam 512 dolduruyor ve program duruyor. Bellek doldu diye. Eğer onu kullanmaz isem bilgisayar kullanılamaz hale geliyor, yani belleği dolduruyor ve sonra tüm bilgisayar belleği bitince duruyor. Bunu nasıl kontrol edebilirim acaba? Şimdiden teşekkürler. for($i = 1; $i <2000; $i++) { $currentLink = ""; $html = ""; $counter = 0; $result[] = ""; $sonuc = ""; $currentLink = "http://www.abc.com/?newsId=".$linkObj->convertToDobuleDigit($i); $html = file_get_html($currentLink); if ( preg_match("/font class=\"detail-spot\">/i", $html)) { foreach($html->find('font[class=detail-spot]') as $e) { $sonuc .= preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $e->innertext); } $time = date('y-m-d H:i:s', strtotime("now")); mysql_query("insert into ztext(content, link, time) Values('" . $linkObj->removeUndefinedChars( addslashes( $sonuc ) ). "', '".$currentLink."', '".$time."') "); echo "yazilanlink : ".$currentLink." \n\t"; } else { $lastlinkok = false; echo "currentlink : ".$currentLink." \n\t"; } unset($counter); unset($currentLink); unset($html); unset($sonuc); echo "---"; echo "Using ", memory_get_peak_usage(1), " bytes of ram."; } -- /** * @author Atıf CEYLAN * Software Developer & System Admin * http://www.atifceylan.com */ -Satır İçi Eki Var- ___ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux
[Linux-programlama] Re: PHP bellek kullanımı
Merhaba, hocam baska bir sorun vardir. bir web sayfasinin bellegi tasirabilecek kadar contenti olmasi cok anlamsiz. unset degiskeni yok eder. Yok ederken (bir bag yoksa) datayi da yok etmesi gerekir. dilerseniz unset yapmayin ve en sondaki unsetleri silip yerine degiskenleri $sonuc = ""; gibi set edin. halen sorun oluyorsa $linkObj objenizi kontrol edin. recursive veya static islemler/degiskenler kalmis olabilir/ On Wed, 15 Dec 2010 08:37:06 + (GMT), Guychmyrat Amanmyradov wrote: Merhabalar. Aşağıdaki gibi kodum var. Yaptığı işlem bir gazeteden sürekli olarak haberleri çekip belli bir kısmını veritabanına yazmak. Ben değişkenleri while içinde unset yapıp tekrar oluştursam da sanırım bellekten silmiyor bunu. Haliyle bellek şişiyor. Eğer ini_set('memory_limit', '512M'); kullanırsam 512 dolduruyor ve program duruyor. Bellek doldu diye. Eğer onu kullanmaz isem bilgisayar kullanılamaz hale geliyor, yani belleği dolduruyor ve sonra tüm bilgisayar belleği bitince duruyor. Bunu nasıl kontrol edebilirim acaba? Şimdiden teşekkürler. for($i = 1; $i convertToDobuleDigit($i); $html = file_get_html($currentLink); if ( preg_match("/font class="detail-spot">/i", $html)) { foreach($html->find('font[class=detail-spot]') as $e) { $sonuc .= preg_replace("/(^[rn]*|[rn]+)[st]*[rn]+/", "n", $e->innertext); } $time = date('y-m-d H:i:s', strtotime("now")); mysql_query("insert into ztext(content, link, time) Values('" . $linkObj->removeUndefinedChars( addslashes( $sonuc ) ). "', '".$currentLink."', '".$time."') "); echo "yazilanlink : ".$currentLink." nt"; } else { $lastlinkok = false; echo "currentlink : ".$currentLink." nt"; } unset($counter); unset($currentLink); unset($html); unset($sonuc); echo "---"; echo "Using ", memory_get_peak_usage(1), " bytes of ram."; } -- /** * @AUTHOR Atıf CEYLAN * Software Developer & System Admin * http://www.atifceylan.com */ ___ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
[Linux-programlama] PHP bellek kullanımı
Merhabalar. Aşağıdaki gibi kodum var. Yaptığı işlem bir gazeteden sürekli olarak haberleri çekip belli bir kısmını veritabanına yazmak. Ben değişkenleri while içinde unset yapıp tekrar oluştursam da sanırım bellekten silmiyor bunu. Haliyle bellek şişiyor. Eğer ini_set('memory_limit', '512M'); kullanırsam 512 dolduruyor ve program duruyor. Bellek doldu diye. Eğer onu kullanmaz isem bilgisayar kullanılamaz hale geliyor, yani belleği dolduruyor ve sonra tüm bilgisayar belleği bitince duruyor. Bunu nasıl kontrol edebilirim acaba? Şimdiden teşekkürler. for($i = 1; $i <2000; $i++) { $currentLink = ""; $html = ""; $counter = 0; $result[] = ""; $sonuc = ""; $currentLink = "http://www.abc.com/?newsId=".$linkObj->convertToDobuleDigit($i); $html = file_get_html($currentLink); if ( preg_match("/font class=\"detail-spot\">/i", $html)) { foreach($html->find('font[class=detail-spot]') as $e) { $sonuc .= preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $e->innertext); } $time = date('y-m-d H:i:s', strtotime("now")); mysql_query("insert into ztext(content, link, time) Values('" . $linkObj->removeUndefinedChars( addslashes( $sonuc ) ). "', '".$currentLink."', '".$time."') "); echo "yazilanlink : ".$currentLink." \n\t"; } else { $lastlinkok = false; echo "currentlink : ".$currentLink." \n\t"; } unset($counter); unset($currentLink); unset($html); unset($sonuc); echo "---"; echo "Using ", memory_get_peak_usage(1), " bytes of ram."; } ___ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php