]]> ]]>

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

От wolf | 20.04.2009 | раздел - WordPress |

Нет, это приятно конечно, что хостеры заботятся об обновлении программного обеспечения. Но, наверное, стоило бы и предупреждать пользователей об обновлениях. Ведь чисто случайно понял, что у меня заглючили блоги на 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 Апр 2009 | Ответить

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

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

О сайте

Наше направление - помощь новичкам в интернет, тем кто решил создать свой сайт и даже может быть уже сделал свой первый шаг в сети. Поговорим обо всем понемногу, о создании сайтов, продвижении сайтов, оптимизации информации. Поговорим о установке и настройке Esyndicat, Vamshop, PHP Pro Bid и др.     »» Далее

Найти :