Eсли заглючил gettext » Блог DINa

Eсли заглючил gettext

20.04.2009
ReTweet

Нет, это приятно конечно, что хостеры заботятся об обновлении программного обеспечения. Но, наверное, стоило бы и предупреждать пользователей об обновлениях. Ведь чисто случайно понял, что у меня заглючили блоги на wordpress. Причем глюк какой-то не постоянный, а временами. То есть ошибка gettext, то ее уже нет. Но глюк стабильный по времени. Проблема возникает при некорректной работе функции gettext на хостинге или работе системы на 64 битах.

В общем, решение уже ранее предлагалось и лекактусом и на форумах wordpress, даже выложены файлы, корректирующие проблему. Но если с wp27 все оказалось нормальным после замены файлов, то wp233 категорически не хотел стабильно работать с измененными файлами. Что тут было, то ли некорректные файлы изменений (маловероятно), то ли особенности комплекса программного обеспечения хостинга -неясно.

Начали поиск по сети. Напали на сайт brusdeylins.info/wordpress/ Сайт на немецком, но, в общем и целом, предложенное исправление понятно. В файле streams.php (папки wp-includes) меняем

$data = substr($this->_str, $this->_pos, $bytes);

на

$data = "";
for ($i=0; $i<$bytes; $i++) {
$data .= $this->_str[$this->_pos+$i];
};

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

P.S. Второе предложение. Изложенно выше проблему в общем-то решило. Однако в админке проявилось подглюкивание с соответствием русского (иногда). Найден еще один вариант решения проблемы. Использовать на сборке 233 го файлы сборки 271 (с учетом патча решения проблемы – см у lecactusa) + ,для удаления глюка в модуле “управления” с отображением числа комментариев, потребовалось скорректировать файл /wp-admin/edit-post-rows.php

Находим

 "<a href='edit.php?p=$id&c=1' title='$pending_phrase'>" . __('0') . '</a>',
 "<a href='edit.php?p=$id&c=1' title='$pending_phrase'>" . __('1') . '</a>',
 "<a href='edit.php?p=$id&c=1' title='$pending_phrase'>" . __('%') . '</a>');

и меняем на

 "<a href='edit.php?p=$id&c=1' title='$pending_phrase'>" . ('0') . '</a>',
 "<a href='edit.php?p=$id&c=1' title='$pending_phrase'>" . ('1') . '</a>',
 "<a href='edit.php?p=$id&c=1' title='$pending_phrase'>" . ('%') . '</a>');

Пока полет нормальный, глюков больше не видно. Чуть упало число запросов на вывод и возросла скорость формирования страниц. Надо тестировать.

Так что, рекомендации почаще заглядывать на свой блог (да и на любой ваш сайт), оказывается не просто риторикой, а важным методом своевременного выявления и последующего устранения возникающих проблем.

1 Отзыв на “Eсли заглючил gettext”
  1. 1От sambori 21 Apr 2009 | Ответить

    Интересное решение. Надо попробовать. А то я уже с одним блогом решил переезжать на 271. Вполне вероятно и потребность отпадет.

Извините, но коментирование запрещено.

Коротко о сайте.

Блог meganfoxstar.ru поможет вам в Установке и настройке cms Vamshop, PHPProBid, Esyndicat, закрепит и расширит имеющиеся знания. Создание сайтов, продвижение сайтов, оптимизация информации. Теория и практика seo. CSS-верстка, веб-мастеринг, интернет-технологии, манимейкинги – все это и намного больше вы сможете найти на страницах нашего проекта!.

Основной        Дополнит         Twitter
RSS фид основной    RSS фид дополнительный    Всего Фолловеров блога
1006
RSSПодписка на обновления по RSS

Обновления блога по почтеОбновления блога на почтовый ящик