Как у меня сломался WordPress и как я его починил.

15 мая 2014-го прошел ровно год с того времени, как у меня сломался WordPress. Точнее сломалась маленькая функция: стало невозможно прикреплять изображения к постам. Ни миниатюры, ни изображения, ни фото — любой медиафайл, загруженный через библиотеку. Поначалу файлы просто не грузились в библиотеку выдавая сообщение об ошибке загрузки файла, потом вроде прорвало, но все равно работал этот механизм через задний проход.

Курение форумов, Гугла и прочих кладезей знаний мне результатов не приносило: по прежнему я постил без картинок, а на повестке у меня был большой пост с иллюстрациями. В общем, как оно и бывает, я забросил блог.

Что я сделал для того, чтобы восстановить полную работоспособность? (безрезультатные варианты)

Сначала я попробовал скачать заново движок WordPress'а и залить его по FTP на сервер. Пробовал с перезаписью, пробовал грохать движок с последующей заливкой. К этому решению меня подтолкнула мысль о том, что совсем недавно до поломки я обновил движок средствами WordPress. Если мне не изменяет память — это была версия 3.5, и на нее многие ругались в "етих вашых ентернетах".

На многих форумах меня посылали нахер с уведомлением о курении прав доступа на папку загрузок "Uploads", на что были посланы в ответ, потому как с правами я до заветных семерок (x0777) доходил.

После, начитавшись Гугла определил, что есть вероятность кривости рук разработчиков WordPress (в чём я очень сильно сомневался), и они забыли указать mime-type для файлов картинок. Добавление соответствующих строк в php-файлы ощутимых результатов не принесли и оно было логично, хотя в Интернетах кому-то помогало, вероятно, у них был не мой случай.

За время моих мытарств WordPress обновлялся еще два или три раза и в какой-то момент у меня даже стали загружаться файлы в библиотеку. Но работало все через "передатьневозможно". Т.е. файлы в библиотеке вроде появлялись, но если открыть диалог добавления файла в миниатюру поста — загруженных файлов видно не было.

Отключение всех плагинов, смена темы WordPress на стандартную, выпиливание настроек движка на дефолтные — безрезультатно. Хотя в момент отключения я понял, какую важную, для моего сайта, роль играют плагины в борьбе со спам-ботами.

В какой-то момент у меня начинали происходить чудеса с датой загрузки файлов и помещением их в соответствующие папки в общей папке загрузок "Uploads". С этим я даже обращался к хостеру, соответственно испросив опыта у знающего человека. Беседа с ним не прошла для меня даром: он предложил поставить рядом еще один WordPress и убедиться, что с хостингом и настройками все в порядке. А у меня как раз рядом стояла свежая копия WP: сайт "магазина недорогой экологически чистой парфюмерии в городе Даугавпилсе" моей сестренки Grin. Прошу прощения, не удержался Big Smile)

И тут-то я задумался: почему у неё на свежем все работает, а мой попиленый блог уже на ладан дышит?.. Я полез в PhpMyAdmin.

Что было на самом деле?

Поковырявшись в таблицах WordPress, я обнаружил, что примерно год назад у меня слетела автоинкрементация таблицы wp_posts: таблицы, в которой хранится практически весь контент, рождаемый в WordPress. Если  год назад следующим номером ID любой записи должен был быть номер 4266, то у меня это было значение: (взял из вчерашнего бекапа) AUTO_INCREMENT=1535868211472610479. И при добавлении новых записей. почему-то движок WordPress'а записывал в поле post_parent значение этого id .....10600. И миниатюры не появлялись, и фекал с библиотекой случался...

Решением оказался откат созданных за этот год записей (с кривыми ID) и дачей команды MySQL:

ALTER TABLE wp_posts AUTO_INCREMENT=4266

И никогда жизнь не была так прекрасна.

Конечно, мир потерял эти шедевральные четыре поста за тот год, но я сохранил их для потомков на диске Гугла и со временем перепощщу с пометкой о восстановлении.

За время исправления этого глюка я многое понял: я настроил нормальное логгирование у хостера, поправил бекап, чтобы были недельные копии и ежемесячные. Научился работать с PhpMyAdmin, немного разобрался с работой PHP и скриптами MySQL, научился работать с правами на FTP и вообще: большой, полезный опыт.

Если кому-то это помогло — значит я не зря потратил это время.

P.S. Софер, а тебе выговор, с занесением в грудную клетку, засранец ты эдакий. Wink

 

 

Добавить комментарий

Ваш e-mail не будет опубликован.

Смайлики

SmileBig SmileGrinLaughFrownBig FrownCryNeutralWinkKissRazzChicCoolAngryReally AngryConfusedQuestionThinkingPainShockYesNoLOLSillyBeautyLashesCuteShyBlushKissedIn LoveDroolGiggleSnickerHeh!SmirkWiltWeepIDKStruggleSide FrownDazedHypnotizedSweatEek!Roll EyesSarcasmDisdainSmugMoney MouthFoot in MouthShut MouthQuietShameBeat UpMeanEvil GrinGrit TeethShoutPissed OffReally PissedMad RazzDrunken RazzSickYawnSleepy