В цикле у меня перебираются страницы и загружаются
for($j=0;$j<100;$j++){
$url_main_link=$url_main.'&p='.$j;
$dataLinkPage=$curl->createCurl($url_main_link,$params);
$htmlOneAds = str_get_html($dataLinkPage);
$getLinkads=$htmlOneAds->find('div[class=js-initial]');
}
Но почему-то, через какой-то промежуток циклов, вылетает ошибка. Подскажите, в какой стороне искать причину, т.к непонятно, почему она возникает, при условии, что если брать эту страницу отдельно из цикла, то никакой ошибки нет. Может памяти не хватает или конфиг подправить какой-то ?
Во-первых, у вас бесконечный цикл.
for($j=100;$j<100;$j++){
Сама ошибка означает что вы пытается применить поиск к неправильному объекту.
Подозреваю что раз вы бесконечно перебираете по номеру страницы, то в какой-то момент скрипт уходит за последнюю доступную страницу и CURL возвращает 404 ошибку или редирект или что-то подобное, а парсер такой ответ не может обработать и помещает не объект в $htmlOneAds, что в свою очередь приводит к ошибке.
Я бы рекомендовал в начале парсинга определять максимальное количество страниц и останавливать скрипт на последней странице.
Так же у вас вижу передачу некоторых параметров к url, что может вызывать ошибку.
Попробуйте добавить проверку $htmlOneAds по is_object, и там где true выполнять свой скрипт, а там где false - записывать в лог var_dump. Это поможет в отладке.
Примерно так:
for($j=0;$j<100;$j++){
$url_main_link=$url_main.'&p='.$j;
$dataLinkPage=$curl->createCurl($url_main_link,$params);
$htmlOneAds = str_get_html($dataLinkPage);
if (is_object($htmlOneAds)){
$getLinkads=$htmlOneAds->find('div[class=js-initial]');
} else {
$fp = fopen($url_main_link . '.txt', 'w');
fwrite($fp, serialize($htmlOneAds));
fclose($fp);
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Собственно сабж в заголовкеВывожу товары через каталог, надо этот статус вывести
В личном кабинете woocommerce, при просмотре заказов по ссылке /wp-admin/editphp?post_type=shop_order есть один заказ, в котором отсутствуют данные покупателя, но статус...