Я включил режим отладки в WordPress и при первом запросе за день получаю эту ошибку:
Предупреждение: http_request() [function.http-request]: истекло время ожидания; Время ожидания операции истекло через 1000 миллисекунд, получено 0 байт (/wp-cron.php?doing_wp_cron) в /public/wp-includes/class-http.php в строке 1218.
Я знаю, что такое задания cron, и я понимаю, как WordPress может захотеть запускать периодические задания (и, поскольку HTTP не имеет состояния, запуск задания «cron» по первому запросу дня имеет смысл), но почему время ожидания истекает?
Моим первым предположением было бы проверить, находится ли wp-cron.php на вашем сервере. Каждый раз, когда я загружаю WordPress, время передачи истекает, и мне приходится копировать его вручную…
Где вы размещаетесь? Иногда хосты отключают обратные вызовы HTTP.
Похоже, что wp-cron.php находится в корне, и я бы не хотел говорить, кто является хостом! Я просмотрю часто задаваемые вопросы и посмотрю, есть ли там что-нибудь о обратных вызовах HTTP.
В часто задаваемых вопросах ничего не было о обратных вызовах HTTP (или wp-cron.php), только информация о том, что они не поддерживают задания cron (именно поэтому что-то подобное существует в PHP, верно?)
Много обсуждений по этой ссылке, но она описывает проблему. Спасибо!
Я только что столкнулся с этой же проблемой и нашел ваш ответ. Спасибо! @холиз.
Для меня это помогает повторить запрос, нажав кнопку «Обновить». Я только время от времени получаю сообщение об ошибке в своей среде разработки.
@hakre: после запроса wp-cron он не запрашивается снова в течение определенного периода времени. Поэтому, когда вы увидите предупреждение, вы не увидите его снова в течение короткого времени. Кроме того, запрос часто завершается успешно и поэтому не вызывает предупреждения. Сочетание этих двух факторов приводит к тому, что это случается только время от времени.
Это ошибка: http://core.trac.wordpress.org/ticket/11831