We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 9085
    • 630 Posts
    Quote from: vladimir.plokhov at Jun 21, 2010, 05:23 AM

    Вылетает чистая страница при любом выове AjaxSearch что с параметрами, что без. Сейчас сделал запрос логов у хостера. Нашел такую проблему:

    FastCGI sent in stderr: "PHP Fatal error: Call to undefined function mb_internal_encoding() in /assets/snippets/ajaxSearch/classes/ajaxSearchConfig.class.inc.php on line 110" while reading response header from upstream

    Закомментил эту строчку сниппет страничку больше не валит, однако и не ищет ничего. Вот такие пироги.

    Видимо, на хостинге установлен PHP без поддержки этой функции. Либо версия не та( функция доступна PHP 4 >= 4.0.6, PHP 5), либо mb-расширение не установлено (думаю, второе.. наверняка подскажет <? phpinfo() ?>). Можно шаманить, чтобы обойтись и без этой функции, либо поинтересоваться у хостера, возможна ли установка расширения...

    Удачи
      Правильно заданный вопрос повышает вероятность получения нужного ответа.
      Что-то не работает? Загляните в лог ошибок!
      Есть проблема? "Локализуйте" её!
      Ответы на большинство вопросов по MODx | MODx RTFM | API Evo Revo | галопом по Европам Азиям smiley wikibooks(ru) Ditto(en) | Wayfinder e-book | Заметки и о MODx
      • 785
      • 2,113 Posts
      Quote from: vladimir.plokhov at Jun 21, 2010, 05:23 AM

      Закомментил эту строчку сниппет страничку больше не валит, однако и не ищет ничего. Вот такие пироги.
      Нельзя просто так удалять произвольные строки.
      Можно попробовать добавить в вызов параметр &mbstring=`0`, но если используется кодировка utf-8, результаты поиска будут неверно обрабатываться. Какая кодировка используется?
        Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
        Статьи о MODx, регулярно новые публикации
        • 785
        • 2,113 Posts
        Насколько я понимаю, в AjaxSearch ошибка – надо в файле ajaxSearchConfig.class.inc.php строки
                   if ($this->dbCharset != 'utf8' && !extension_loaded('mbstring')) {
                        $msgErr = "AjaxSearch error: php_mbstring extension required";
                    } else {
                        if ($this->cfg['mbstring']) mb_internal_encoding("UTF-8");

        заменить на
                    if ($this->dbCharset == 'utf8' && !extension_loaded('mbstring')) {
                        $msgErr = "AjaxSearch error: php_mbstring extension required";
                    } else {
                        if ($this->dbCharset == 'utf8' && $this->cfg['mbstring']) mb_internal_encoding("UTF-8");


          Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
          Статьи о MODx, регулярно новые публикации
          • 6348
          • 90 Posts
          Кстати, та же хрень. В 1.02 все отлично работало. Уже жалeю что обновлял версию. Есть идеи как решить проблему?
            • 9085
            • 630 Posts
            Если "раньше всё работало", можно откатиться туда "где было". Бэкапы ведь есть? smiley
            Либо залезать в логи и смотреть ошибки. Если виной всему mb-функции - подбирать аналоги.

            Как вариант, можно попробовать "откатить" (заново поставить старую версию) только сниппет AjaxSearch.. (не забыть заменить файлы сниппета)

            Некоторые из особенностей новой версии рассмотрены тут - не исключено, что потребуется исправить вызов сниппета...

            А вообще рекомендую обратить внимание.

            Удачи!
              Правильно заданный вопрос повышает вероятность получения нужного ответа.
              Что-то не работает? Загляните в лог ошибок!
              Есть проблема? "Локализуйте" её!
              Ответы на большинство вопросов по MODx | MODx RTFM | API Evo Revo | галопом по Европам Азиям smiley wikibooks(ru) Ditto(en) | Wayfinder e-book | Заметки и о MODx