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 +0000 (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 +0000
(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 +0000 (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 [5]
*/
_ _ _ _
-----Satır İçi Eki
Var-----
_______________________________________________
Linux-programlama mailing
list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
[6]
Liste kurallari: http://liste.linux.org.tr/kurallar.php [7] _ _ _
_
--
/**
* @AUTHOR Atıf CEYLAN
* Software Developer & System
Admin
* http://www.atifceylan.com [8]
*/
_______________________________________________
Linux-programlama
mailing
list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
[9]
Liste kurallari: http://liste.linux.org.tr/kurallar.php [10]
-----Satır İçi Eki
Var-----
_______________________________________________
Linux-programlama mailing
list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
[11]
Liste kurallari: http://liste.linux.org.tr/kurallar.php [12]
_______________________________________________
Linux-programlama
mailing
list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
[13]
Liste kurallari: http://liste.linux.org.tr/kurallar.php
[14]
-----Satır İçi Eki
Var-----
_______________________________________________
Linux-programlama
mailing
list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
[15]
Liste kurallari: http://liste.linux.org.tr/kurallar.php [16]
--
/**
* @AUTHOR Atıf CEYLAN
* Software Developer & System Admin
* http://www.atifceylan.com
*/
Links:
------
[1]
http://www.phpro.org/examples/List-all-variables.html
[2]
http://www.zamantm.com/tm/newsDetail_getNewsById.action?newsId=18
[3]
http://www.zamantm.com/tm/newsDetail_getNewsById.action?newsId=19
[4]
http://www.abc.com/?newsId=
[5] http://www.atifceylan.com
[6]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
[7]
http://liste.linux.org.tr/kurallar.php
[8] http://www.atifceylan.com
[9]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
[10]
http://liste.linux.org.tr/kurallar.php
[11]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
[12]
http://liste.linux.org.tr/kurallar.php
[13]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
[14]
http://liste.linux.org.tr/kurallar.php
[15]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
[16]
http://liste.linux.org.tr/kurallar.php
_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php