Сегодня в WordPress открылся баг (с самым высоким приоритетом — "highest omg bbq"). Симптомы его следующие: при публикации поста выдаётся ошибка вида:
PHP Catchable fatal error: Object of class WP_Error could not be converted to string in /wp-includes/comment.php on line 1264
Причина ошибки заключается в том, что WordPress недостаточно тщательно проверяет результат, который возвращают функции wp_remote_get()
/wp_remote_post()
.
Ошибка проявляется, когда функция WP_Http::chunkTransferDecode()
возвращает ошибку. Я не лез в дебри функции: возможно, сервер вернул что-то не то, возможно, декодер содержит ошибку, а может быть, виновата другая функция — важно здесь несколько другое: элемент body
возвращаемого результата может не быть скалярным.
Переходим к исправлению ошибки. Далее