Этот код работал хорошо в течение нескольких месяцев. Вывод состоял из нескольких строк, содержащих статистику для данного имени пользователя. Веб-сайт, с которого взята html-страница, не отключен, и содержимое страницы в file_get_html
не изменилось. Внезапно (я проверял, никто не модифицировал) он перестал работать. Вот соответствующая часть:
[...]if ($FileAge > ($expiretime * 60) || 0 == filesize($cachename))
{
include_once('simple_html_dom.php');
$html = file_get_html('http://www.foo.com/search?what=user%3A'.YOUR_USER.'&search=Search');
var_dump($html); //TEST
$link = $html->find('.likeh4 lightGrey.', 0)->find('a', 0)->href; // Get the last activity link
[...]
В журнале ошибок написано:
[02-Feb-2013 17:02:19 Europe/Berlin] PHP Fatal error: Call to a member function find() on a non-object in /foo.php on line 22 (the line with $link).
var_dump($html)
дает bool(false)
У меня есть аналогичный скрипт, который анализирует html-страницу с другого сайта. Тоже перестал работать.
[...]include_once('simple_html_dom.php');
$html = file_get_html('http://my.flightmemory.com/'.FLIGHTMEMORY_USER);
$chilometri_table = $html->find('table', 2); [...]
Я попытался сохранить на своем веб-сервере одну из этих html-страниц, и я не получаю такой ошибки. Мой хост отключил некоторые функции php из соображений безопасности? (на самом деле, file_get_html исходит из simple_html_dom, а не из собственных функций php)
Любые подсказки? Спасибо