Обновил WordPress до версии 4.6. В промо ролике расписывали о том, какой же офигенный новый релиз. Рассказывали как легко и красиво теперь обновляются плагины через AJAX: нажимаешь кнопочку, стрелочки крутятся, плагинчик обновляется. Но внутри новой версии ждал неприятный сюрприз в виде ошибки «cURL error 23: Failed writing body»
Конечно, новая версия WordPress 4.6 интересная. Но после ознакомления оказалось, что обновить установленные плагины невозможно, потому что раз через раз вылетает ошибка
cURL error 23: Failed writing body
Сейчас на основном форуме WordPress идут жаркие дебаты по этому поводу. У многих появляется ошибка "cURL error 23". И по своей сути она означает, что недостаточно места на диске для сохранения файла, либо нет привилегий записи на диск. Поэтому сначала проверьте достаточно ли свободного места на хостинге. Но у меня было его с запасом, поэтому такое решение не подходило.
Полез копаться в модуле cUrl. Недавно обновил его, поэтому подозрение пало именно на него. Целый день провозился. Не нашёл ошибки, но в конце ... откатил WordPress с версии 4.6 до старой 4.5.2 и о ужас! Всё заработало! Оказалось это именно ошибка нового релиза WordPress 4.6. Если откатить сайт до старой версии, то всё заработает и плагины можно будет обновить.
Если сейчас обновились до 4.6 и не знаете, почему сайт работает нестабильно, то сначала проверьте достаточно ли сайту места на хостинге, а затем попробуйте проверить работает ли cUrl. Для проверки cUrl на WordPress можно использовать такой скрипт (сохраните его в отдельный файл и запустите):
<?php
require('wp-blog-header.php');
$resp = wp_remote_get('http://www.alexgur.ru/favicon.ico');
echo "<pre>".print_r($resp, true)."</pre>";
Этот скрипт загрузит иконку моего сайта и покажет её "текстовое" представление: http://www.alexgur.ru/favicon.ico . При отрицательном результате скрипт выдаст ошибку с текстом "cURL error 23: Failed writing body". Этот текст будет единственным значением возвращаемого массива - её не пропустите. Но если всё пройдёт гладко, то напечатается большой массив и очень много "кракозябр" на весь экран.
В любом случае, можно расслабиться, потому что от нас сейчас ничего не зависит. Ждём стабильного релиза WordPress 4.6.
Итог
Не устанавливайте обновления в день выхода, потому что могут случиться такие нехорошие ситуации. Конечно, разработчики пытаются выпустить в свет рабочую версию, но часто пропускают косяки. Поэтому подождите пару месяцев, пока все последние баги будут протестированы на добровольцах. И, как я писал в статье "Реклама в FaceBook: максимум кликов", не полагайтесь на программистов.
P.S.
Продолжение статьи можно найти здесь: WordPress 4.6 - cURL error 23 (продолжение)