3
$html = file_get_html('http://www.oddsshark.com/mlb/odds');

echo $html;

ehcoed すると、この質問のタイトルにあるエラー メッセージが表示されますか? 私は以前にこれに似た問題を抱えていました。いずれの場合も、実際には php.ini のメモリを増やす必要はありませんでした。むしろ、ループを閉じるために必要な中括弧がありませんでした。file_get_html 関数を介して要求しているこのページは、ブラウザーでは正常に表示されますが、php を介して html をエコーすることはできません。

何か案は?

4

4 に答える 4

0

increase your memory limit in php.ini file

search for

; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 128M

in your php.ini file and increase it to 512M

于 2013-05-18T18:36:45.727 に答える
0

よりメモリが最適化されたライブラリを使用しないのはなぜですか。単純な HTML DOM はもはや必要ありません。

$html = new DOMDocument;
$html->loadHTMLFile('http://www.oddsshark.com/mlb/odds');
echo $html->saveHTML();

そのトピックに関する参照質問には、さらに多くの提案があります。

于 2013-05-18T18:48:04.050 に答える
0

この使用法がメモリを増やすことを正当化するとは本当に思いません。オーバーする場合は、問題があるためです。単純な HTML DOM パーサーは、メモリ リークに悩まされることが知られています。

HTTP を使用してリモート ページのコンテンツを取得する必要がある場合は、次のようにします。これは、リモート ページからコンテンツを取得するために私が知っている最も簡単でリソース効率の高い方法です。

<?php
$homepage = file_get_contents('http://www.example.com/');
echo $homepage;
?>

さらに高度なクエリを実行する必要がある場合は、cURL を調べることができます: http://php.net/manual/en/book.curl.php

于 2013-05-18T18:49:15.967 に答える