【问题标题】:Simple PHP Dom Parser Can't Access简单的 PHP Dom 解析器无法访问
【发布时间】:2023-04-10 15:52:01
【问题描述】:

我正在尝试访问土耳其卫生部网站之一:我已经解析了其他网站的新闻,但我无法访问这个。我尝试了许多其他技巧,但是当我尝试这个时,它会卡住并且不会返回,并且网站在该部分冻结并且在该部分之后不会加载我的网站的其余部分。

$html = file_get_html('http://www.tkhk.gov.tr/TR,6/duyurular.html');
$i = 0;
foreach($html->find('a.belge_alt_b') as $element){
echo "
<a href=\"http://www.tkhk.gov.tr".$element->href." \">". $element->plaintext ."</a>
";   
$i++ ;
if($i > 3) break;
}

正如我所说,我也对其他人使用了相同的方法,但这似乎是一个问题。这可能是由他们的服务器引起的吗?

【问题讨论】:

  • 我用simplehtmldom_1_5.zip测试了代码,它工作正常。
  • 在你告诉我这个之后,我在另一台服务器上尝试过,它也对我有用,但在我的主要它不起作用。但正如我所说,对于我解析新闻的其他网站,它适用于所有服务器。
  • 发现错误,致命错误:允许内存大小为8388608字节用尽(尝试分配41字节)改变内存限制问题解决。 ini_set('memory_limit', '32M');

标签: php html html-parsing simple-html-dom


【解决方案1】:

对于那些可能经历过的人;

检查您允许的内存大小并调试您的脚本,在脚本顶部使用下面的代码,然后重试。

echo 'display_errors = ' . ini_get('memory_limit') . "\n";  // this will show your maximum allowed memory usage
ini_set('error_reporting', E_ALL); // for error reporting
ini_set('display_errors', 1); // for error reporting

如果遇到类似

的错误
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 41 bytes) 

然后根据需要更改内存限制。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-09
    • 1970-01-01
    • 2012-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多