Вопрос к гуру по БД, у меня поломался вордпресс

Я работал с настройками вордпресса, в этот момент сервер упал, после его запуска я постоянно вижу эти предупреждения

Warning: array_keys() [function.array-keys]: The first argument should be an array in /public_html/wp-includes/widgets.php on line 686

Warning: Invalid argument supplied for foreach() in /public_html/wp-includes/widgets.php on line 686

и бока с кодировками случились, перевод и контент стали отображаться в неправильной кодировке…

сайт http://photoshop-cs-photo.ru

в админке тоже предупреждения выводятся… любой переход на любую страницу вызывают следующее

Warning: array_keys() [function.array-keys]: The first argument should be an array in /public_html/wp-includes/widgets.php on line 686

Warning: Invalid argument supplied for foreach() in /public_html/wp-includes/widgets.php on line 686

Warning: Cannot modify header information - headers already sent by (output started at /public_html/wp-includes/widgets.php:686) in /public_html/wp-includes/pluggable.php on line 770

Так как ни каких изменений не происходило в указанных предупреждениями файлах, я подумал что что-то с БД не так… поделитесь опытом? 🙂

Cannot modify header information — вот эти слова забейте в поиск по форуму, может вся котовасия из-за BOM

я подумал что что-то с БД не так...

Я тоже так подумал.

столкнулся с такой же проблемой:
в публичной части сайта:
[quote]Warning: array_keys() [function.array-keys]: The first argument should be an array in /home1/***/wp-includes/widgets.php on line 686

Warning: Invalid argument supplied for foreach() in /home1/***/wp-includes/widgets.php on line 686[/quote]
При попылке войти в админку:
[quote]Warning: array_keys() [function.array-keys]: The first argument should be an array in /home1/***/wp-includes/widgets.php on line 686

Warning: Invalid argument supplied for foreach() in /home1/***/wp-includes/widgets.php on line 686

Warning: Cannot modify header information – headers already sent by (output started at /home1/***/wp-includes/widgets.php:686) in /home1/***/wp-includes/pluggable.php on line 770[/quote]
поиск оп сети выявил только рспространенность этой проблемы (тучу сайтов с такими же ошибками), но не решение.
прошу помощи!

п.с.: с позволения общественности, дублирую вопрос на форуме mywordpress.ru с более разумным названием темы.

хм, может быть попробовать открыть файлик widgets.php в Notepad++ и пересохранить его в кодироффке UTF-8 без BOM ?

… если не поможет, будем дальше глядеть!

и этот до кучи проверь в какой кодироффке pluggable.php

да и вообще, все файлы должны быть в UTF-8 без BOM … так что и их проверь!

да и вообще, все файлы должны быть в UTF-8 без BOM ... так что и их проверь!

чорд! все файлы в кодировке ANSI!
все!
есть ли способы пакетной конвертации кодировок текстовых файлов? 🙂

… есть!
Сейчас покажу где: http://forum.maxsite.org/viewtopic.php?id=6213
только для начала надо узнать, у тебя что за движок-то установлен? 🙂

... есть!
Сейчас покажу где: http://forum.maxsite.org/viewtopic.php?id=6213
только для начала надо узнать, у тебя что за движок-то установлен? :)

толькочто смотрел – распаковал архив с WP 2,6,3 от Кактуса (ставил уже, без проблем) – там файло в ANSI…
сконвертил widgets.php и pluggable.php в UTF-8 – количество ошибок увеличилось, упоминался файл bookmark.php 🙂
сконвертил его, теперь:

Warning: array_keys() [function.array-keys]: The first argument should be an array in /home1/***/wp-includes/widgets.php on line 686

Warning: Invalid argument supplied for foreach() in /home1/***/wp-includes/widgets.php on line 686

то есть, проблема как была, так и осталась.

Неужели так никто не знает в чем проблема? У меня таже проблема – точно с такими же ошибками до цифры.

Произошла в момент, когда я экспортировал БД в файл, перенес на новый хостинг все файлы двигателя со старого, а потом импортировал ранее Экспортированную БД.

Также изменилась кодировка.
Что старый что новый хостинг – HC.RU

Файлы надо заливать в бинарном режиме.

И в бызе тоже кодировку таблиц желательно UTF-8 поставить

Ктому же могут быть проблемы при сохранении в файл. Рекомендую для переноса пользоватся специализироваными приложениями.

Примерно такая хренотень вылезла тоже при падении базы.
Причину нашел в базе –

смотрим что в _options запись widget_rss
не мудрствуя впихнул туда a:0:{}

Просто уточни что находится в widgets.php на строке 686
соответственно и смотри в базе нужную запись обвалившуюся.

у меня таже проблема ! кто-то может пошагово росказать как ее решить ?

проблемы с сериалайзом

Единственная идея попробовать не дампить базу, а напрямую скопировать по средствам менеджера, например SQLyog, или что то подобное

и помоему сереалайз в разных версия php отличается (точно не уверен).

уже розобрался ! значит чтоб устраить нужно зайти в wp_options и удалить там widget_text

Anonymous
Отправить
Ответ на: