WordPress 3.0.1 и Allowed memory size of exhausted

Вчера вечером решил всё-таки перейти на новую версию блого-движка WordPress. На текущий момент это версия 3.0.1. Т.к. уважаемый Lecactus забил на переводы, пришлось скачивать новую версию с официального сайта. Были выкачаны и английская, и русская версии.

Естественно перед установкой новой версии нужно сделать копию базы и, по возможности, всех файлов блога – что и было сделано.
Кстати копию базы делает у меня плагин WordPress Database Backup по расписанию и делает это очень успешно. Копия файлов была сделана ручками (особенно не забывайте о wp-contents где хранятся все темы, плагины и медиа-файлы, используемые в вашем текущем блоге).
Кстати ваши медиа-файлы могут находится и в другой папке – это зависит от настроек!

Так вот собственно к чему я пишу это всё – после перехода на новую версию сам блог остался в рабочем состоянии, а вот административная часть оказалась абсолютно в нерабочем. Практически любая страница загружалась или наполовину, или не загружалась совсем с ошибкой “Allowed memory size of exhausted“. Дело в том, что мой текущий тариф у хостера подразумевает выделение только 32 Мб для работы php скриптов. Однако этого для работы новой админки оказалось недостаточно. После долгих танцев с бубном проблема была конечно решена (наполовину) – админка заработала в полном объёме, но пришлось её оставить на английском, т.к. перевод на русский занимает слишком много памяти и, при включённой директиве define (‘WPLANG’, ‘ru_RU’); в файле wp-config.php, админка не загружалась совсем – White Screen of Death (WSOD).

Вариантов решения проблемы на самом деле несколько:

  1. Увеличение доступной памяти для php скриптов.
    Это также можно сделать несколькими способами (если есть соответствующий доступ к файлам):

    1. В файле php.ini изменить установить параметр memory_limit = 64M (по умолчанию 32Мб);
    2. В файле .htaccess прописать директиву php_value memory_limit 64M
    3. В файле wp-config.php прописать define(‘WP_MEMORY_LIMIT’, ’64M’);

    Все эти вариант сработают если у вас есть права на соответствующие изменения. Мой хостер (да и большинство других) запрещает изменять доступный объём памяти таким образом, поэтому для большинства такой способ, к сожалению, не подойдёт.

  2. Следующий способ чтобы хоть как-то избавится от WSOD заключается в том, что необходимо деактивировать все активные плагины. Во всяком случае мне это помогло увидеть админку. Для этого пришлось вернуть старую версию WordPress 2.9.2. Затем (не меняя версию) я установил довольно полезный плагин WP-Memory-Usage. Плагин выводит в подвал админки информацию об используемой памяти.

    Затем я опять обновил версию до английской 3.0.1 – с русской версией админка не работала даже при всех деактивированных плагинах. Админка чистого движка (ну с одним активированным плагином) отъела 25 Мб из 32. Затем я обновил все плагины до последних версий и стал активировать все необходимые мне. Всё нормально активировалось и вот сейчас используется Memory : 26.92 of 32 MByte

  3. Однако на этом танцы с бубном русским WordPress-ом не заканчиваются.
    Чтобы оживить админку и при этом оставить русский интерфейс для блога (все названия месяцев, дней недели и т.д., видимые для посетителей блога) – пришлось сделать вот такой финт ушами. В конфигурационном файле wp-config.php необходимо закомментировать define (‘WPLANG’, ‘ru_RU’); и прописать такую конструкцию
    if (strpos($_SERVER[‘REQUEST_URI’], ‘wp-admin’)) define (‘WPLANG’, ‘ ‘); else define (‘WPLANG’, ‘ru_RU’);
    Это будет означать что для блога используется русский язык, а для админки – язык по-умолчанию, т.е. английский.

    Я попробую перевести админку (основываясь на переводах Lecactus-а) и выложить чуть позже (если получится).

Вот собственно именно таким получился у меня переход на новую версию WordPress.

Кстати, совершенно забыл, рекомендую удалить неиспользуемые плагины – они тоже отъедают выделенную для php-скриптов память!

P.S.
Кстати, а никто не замечал, что как бы ни было написано слово

wordpress

(спасают только теги pre) – оно автоматически преобразуется в WordPress (большие буквы W и P).

6 thoughts on “WordPress 3.0.1 и Allowed memory size of exhausted

    1. StewardTZ Post author

      Если есть доступ к ftp где лежит блог – попробуйте перенести все файлы из wp-content/plugins в другую папку на ftp или на ваш компьютер
      Если проблем в недостатке памяти – то админка блога должна запустится, потому что таким образом вы не дадите ей загружать все плагины.
      Затем постепенно возвращайте по несколько плагинов в исходную папку и деактивируйте их через админку блога, пока не вернёте все. Затем методом научного тыка активируйте по одному плагину и смотрите как ведёт себя блог.

      Опять же повторюсь – это только если у вас проблема именно с нехваткой памяти.

  1. Денис

    Вот здесь я примерно расписал мою проблему.

    Не могу вспомнить что произошло. Но в вот пришел вечером . Ввел логин и пароль. И вместо блога “чистая страница”.
    С рабочего компьютера. Выводятся сообщения об ошибках.
    http://tinypaste.com/ce3dc

    Вот полный лог ошибок с хостинга.

    http://tinypaste.com/c24e8

    что делать. Помогите пожалуйста. isq 306383795 mail: firm2003@bk.ru

  2. StewardTZ Post author

    Так сейчас вроде и блог http://creoblog.ru/ и страница логина http://creoblog.ru/wp-login.php нормально работают.
    Сейчас проблема вообще актуальна? 🙂
    По логу видно что у вас отсутствовали файлы на хосте – может просто проблемы у хостера были?

  3. StewardTZ Post author

    Ещё раз – доступ к фтп есть? Если есть – переименовывайте папку wp-content/plugins в wp-content/z_plugins и пробуйте залогиниться в админку.

Leave a Reply

Your email address will not be published. Required fields are marked *