2011-08-17 16 views
-1

エラーのうち:致命的なエラー:メモリ

Fatal error: Out of memory (allocated 123469824) (tried to allocate 71 bytes) in /home/test/tset/tset.net/public_html/test/simple_html_dom.php on line 1236

はい、私はこれらの問題の多くがあったことを知っています。しかし、私はこのミスを避けるのがいかに簡単か分かりませんでした。このエラーが発生した場合は、次の値からループを開始する必要があります。

は、私が使用しsimplehtmldom

コード:

$html = file_get_html('http://www.windowsaffinity.com/?p=14721'); 

EDIT: YES * 最大メモリサイズが不足している *

+0

ページをフェッチするためにソケットを使用すること(小さなチャンク内のデータを読み込み、ファイルまたは電子/ wのために保存)またはシステム・コマンド(たとえば、wget -O /save/here.txt http://blah.com)を実行しますあなたのコードを投稿してください。あなたのPHPコードは、php.iniで許可されたメモリ以上に使用されています。 – Raptor

+1

ここに質問がありますか? –

+0

私は間違いを理解している、私は単にそれを避ける方法を知らない。 – Mediator

答えて

1

あなたはPHPで致命的なエラーをキャッチすることはできません。彼らは結局、致命的です。あなたがやろうとしている正確に何を知らず

、スクリプトを再起動することができるまで、「あなたの場所を保持」するために、データベースや他のファイルにいくつかのカウンターの種類や他の位置パラメータを格納することが可能であろう。

あなたはメモリが不足している場合は、より大きな問題を抱えています。あなたのホスティングは、あなたがしようとしているものに対してはあまりにも小さすぎるか、またはあなたが噛むことができる以上に噛み付いています(または両方)。複数の部分にあなたのプロセスを破壊してみてください、とunset()を呼び出し、および/またはあなたが使用しているスペースを制限するために、そしてあなたのオブジェクトが収集の対象であることをガベージコレクタを伝えるために彼らと終わったら変数にnullを割り当てます。

1

ini_setでPHPのメモリ制限を上げることはできますが、これはスクリプト単位でのみ行う必要があります(たとえば、非常に大きなxml/etcファイルからデータをインポートするなど)。記憶限界を上げるという素晴らしい質問 - Increasing PHP memory_limit. At what point does it become insane?

編集:読ん更新後の、あなたのケースで私は、メモリの制限を上げたい - あなたは1回の使用のための迅速なスクリプトを記述すると仮定します。 ini_setは(すなわち、最も可能性の高い共有ホスト上の場合)が無効になっている場合は、php.iniでのmemory_limitを設定します。

別のオプションは、