WordPress 5.3.2
Отладка с помощью Xdebug.
Это моя вспомогательная функция для заполнения пустой базы данных. День за днем я запрашиваю данные с удаленного сервера /
function _request_currencies_for_period(){
$end = new DateTime('now');
$begin = $end->modify('-1 year');
$requests_counter = 0;
for($i = $begin; $i <= $end; $i->modify('+1 day')){
$date = $i->format('d/m/Y');
$requrl = 'http://www.cbr.ru/scripts/XML_daily.asp/?date_req=' . (string)$date;
$raw_data = false;
$result = 'fail';
while ('fail' == $result) {
$raw_data = wp_remote_get($requrl);
$requests_counter +=1;
if (!is_wp_error($raw_data)) { // Если WP_Error, значит, сайт Центробанка не отвечает на запрос.
$currency_data = $this->select_currency_rate($raw_data);
$this->write_data($date = $currency_data["date"], $currency_data = $currency_data["currencies"]);
$result = 'success';
}
error_log ($message = "$requests_counter : $i->date : $result \n",
$message_type = 3,
$destination = get_home_path() . "log/ved_currencies_cbr_requests.log" );
sleep ( $seconds=3 );
}
}
}
ved_currencies_cbr_requests.log
1 : 2019-01-12 09:57:05.669818 : success
2 : 2019-01-13 09:57:05.669818 : success
3 : 2019-01-14 09:57:05.669818 : success
4 : 2019-01-15 09:57:05.669818 : success
5 : 2019-01-16 09:57:05.669818 : success
6 : 2019-01-17 09:57:05.669818 : success
7 : 2019-01-18 09:57:05.669818 : success
8 : 2019-01-19 09:57:05.669818 : success
9 : 2019-01-20 09:57:05.669818 : success
10 : 2019-01-21 09:57:05.669818 : success
11 : 2019-01-22 09:57:05.669818 : success
12 : 2019-01-23 09:57:05.669818 : success
13 : 2019-01-24 09:57:05.669818 : success
14 : 2019-01-25 09:57:05.669818 : success
15 : 2019-01-26 09:57:05.669818 : success
16 : 2019-01-26 09:57:05.669818 : success
17 : 2019-01-26 09:57:05.669818 : success
18 : 2019-01-26 09:57:05.669818 : success
19 : 2019-01-26 09:57:05.669818 : success
Проблема: на 15-й итерации я удалил точку останова. То есть я поставил точку останова в цикле и прошел по коду. Это сработало, я остался доволен и решил возобновить процесс без остановки. Сразу запросы были на одну и ту же дату. По крайней мере, в журнале дата совпадает. Я не знаю, в чем причина такого поведения. И как его отладить, если в точке останова все выглядит нормально.
Не могли бы вы помочь мне локализовать проблему?