Ars Longa, Vita Brevis

Сегодня в WordPress открылся баг (с самым высоким приоритетом — "highest omg bbq"). Симптомы его следующие: при публикации поста выдаётся ошибка вида:

[-]
View Code Text
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 возвращаемого результата может не быть скалярным.

Переходим к исправлению ошибки. Читать статью «WordPress 2.7: фатальная ошибка при публикации статьи» полностью…