forループの回数を100回にすると最後まで動き、
200回にすると途中で動かなくなります。
回数制限などあるのでしょうか?
また動くようにする方法を教えて下さい!
卒業がかかってます。
。
。
【質問】環境:unix, PHP4.3200MBくらいのXMLファイルを3つ、
(researchers_2007.xml) (2008,2009も同様)DOMで検索して出力するシステムを作成中です。
検索部分を単純化したソースを以下に記載します。
ここで、
★を付けた部分のforループの回数を100回にすると最後まで動き、
200回にすると途中で動かなくなります。
メモリの部分が怪しいと疑ったのですが、
ダメでした。
・PHPのワーキングメモリ、
memory_limitは512MBに増設、
1024MBにしても出力は変わらず(サーバの物理メモリは2GBあります)・メモリの節約のためにarray(),やunset関数を使用卒業がかかっています、
日曜日中に完成してないといけないので、
どなたかアドバイスを下さい!
よろしくお願いいたします。
【ソース】<?
phpfor($y=2007;$y<2010;$y++){ $doc2keys = array(); $doc2key = array(); $xmlurl = "researchers_".$y.".xml"; print "<br><br>".$y."******************************************************<br><br>"; $doc2 = domxml_open_file($xmlurl); $doc2keys = $doc2->get_elements_by_tagname('keywords'); $count_keys = count($doc2keys); for($j=0; $j<200; $j++){ //★100→300にすると途中で止まる $doc2key = $doc2keys[$j]->get_elements_by_tagname('keyword'); $count_key = count($doc2key); for($z=0; $z<$count_key; $z++){ $k++; echo $k."<br/>"; }//for(z) unset($doc2key[$j]); }//for(j)}//for(y)echo "動いてます!
";?
>【出力】2007******************************************************123456~(省略)~5695856959569605696156962569632008******************************************************569645696556966~(省略)~140176140177140178140179140180140181~(終了)
日時:2010/01/24 03:08 Yahoo!知恵袋