Как можно устранить ошибку в скрипте, который останавливается при проходе пятого цикла из-за защиты сервера?
1368
Fatal error: Uncaught Error: Call to a member function find() on boolean in C:\OSPanel\domains\pars\index.php:27 Stack trace: #0 {main} thrown in C:\OSPanel\domains\pars\index.php on line 27
<?php
require_once('simple_html_dom.php'); //Библиотека для парсинга
require_once('curl_query.php'); //парсинг
require_once('model.php'); //функционал
require('db.php'); //база данных
// Запрос к базе
$query = "SELECT * FROM seria";
$result = $mysql->query($query);
// Вытащить все из базы в массив
while ($row = $result->fetch_assoc()) {
$id[] = $row["id"];
$silka[] = $row["silka"];
$series[] = $row["series"];
};
$count = count($id);
for ($i = 0; $i < $count; $i++){
$html = curl_get($silka[$i]); //ссылка на сериал
$dom = str_get_html($html); //парсить страницу
$finds = $dom->find('.added-info');
foreach ($finds as $find){
$tfind = trim($find->plaintext);
if ($series[$i] === $tfind){
echo $id[$i];
sleep(5);
}
else {
$sql = "UPDATE `seria` SET `series` = '$tfind' WHERE `seria`.`id` = $id[$i]";
$mysql->query($sql);
message_to_telegram("Вышла новая серия".$series[$i].$silka[$i]);
echo $id[$i];
};
};
};
Чтобы увеличить время, затрачиваемое на выполнение задачи, можно использовать функцию `sleep()` для добавления паузы между итерациями цикла. Например, в данном случае после каждой итерации цикла можно добавить паузу в 5 секунд:
```php
for ($i = 0; $i < $count; $i++){
// код выполнения задачи
sleep(5); // добавляем паузу в 5 секунд
};
```
Однако, если скрипт останавливается при проходе пятого цикла из-за защиты сервера, это может быть связано с ограничениями сервера или проблемами с соединением. В таком случае, рекомендуется обратиться к администратору сервера для выяснения причины проблемы и ее устранения.
usleep(250000)
Задержка на 0,25 секунды.