致命错误:允许的内存大小为33554432字节

时间:2013-05-18 18:34:21

标签: php simple-html-dom

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

echo $html;

当ehcoed时,会出现此问题标题中的错误消息?我之前遇到过类似的问题。在所有情况下,我实际上并不需要在php.ini中增加备忘录。相反,关闭循环需要缺少大括号。我通过file_get_html函数请求的这个页面在我的浏览器中显示正常,但它不会让我通过php回显html。

有什么想法吗?

4 个答案:

答案 0 :(得分:0)

增加php.ini文件中的内存限制

搜索

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

并将其增加到512M

答案 1 :(得分:0)

为什么不使用内存优化的库,不再需要简单的HTML DOM:

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

有关该主题的参考问题可提供更多建议:

答案 2 :(得分:0)

我真的不认为这种用法可以证明增加内存。如果它结束了,那是因为存在一个问题:已知简单的HTML DOM Parser会遭受内存泄漏。

如果您只需要使用HTTP检索远程页面的内容,请执行以下操作。这是我从远程页面检索内容时所知道的最简单,最节省资源的方法:

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

如果您需要进行更多高级查询,可以查看cURL:http://php.net/manual/en/book.curl.php

答案 3 :(得分:-2)

编辑php.ini文件

memory_limit=512M

在PHP文件中添加一行:

ini_set('memory_limit', '512M');

错误将得到解决。 注意:您可以将值设为512M