Проблема с фильтром Algebra

Проблема с фильтром Algebra

от Александр San -
Количество ответов: 19

Приветствую Комрады!

Дано:

moodle 2.4.1

Фильтр Algebra версия 2012112900

Проблема:

При открытии в курсе лекции в режиме редактирования при использовании алгебраических формул - тупняк на 15 минут и 500-я ошибка.

Экспериментальным путем выяснено что проблема именно в этом модуле - сейчас временно отключен.

Изменений никаких не производилось

Вопрос:

Что с ним могло пойти не так, что можно сделать? Кто сталкивался с подобной проблемой?

Приложение moodle_24_error_500.png
В ответ на Александр San

Re: Проблема с фильтром Algebra

от Vadim Tabunshchik -
Изображение пользователя Developers
сейчас временно отключен

Правильно, отключите и не используйте. улыбаюсь Не нужен он, есть ТеХ-фильтр.

Что с ним могло пойти не так, что можно сделать?

Для начала сказать, что за операционка? Windows?

Perl установлен? Формулы в формате algebra обрабатываются перл-скриптом algebra2tex.pl

Поэтому в Windows нужно установить Perl и проверить путь к бинарнику в algebra2tex.pl, по умолчанию там указан линуксовый /usr/bin/perl

Ещё забыл: к Perl потом ещё нужно доустановить модули HTML-Parser и HTML-Entities

В ответ на Vadim Tabunshchik

Re: Проблема с фильтром Algebra

от Александр San -

Да не указал - работает на windows 2012 standart x64 русская

web-сервер - IIS

perl'а вроде нет, есть php (C:\Program Files (x86)\PHP\v5.4\php.exe)

До сих пор работало все на ура, единственный раз была проблема с TeX (исполняемый файл был завирусован) помогла резервная копия.

почему рекомендуете его отключить? фишка в том что часть пользователей использует один модуль, часть другой. побороть проблематично - лучше починить в крайнем случае обосновать.

в algebra2tex.pl (судя по всему не для винды он)


#!/usr/bin/perl

use lib '.';
use AlgParser;

my $parser = new AlgParserWithImplicitExpand;
my $ret;

$ret = $parser -> parse($ARGV[0]);
if ( ref($ret) ) {
    $parser -> tostring();
    $parser -> normalize();
    print $parser -> tolatex();
} else {
    print $parser->{htmlerror};
}

PS могу все папку algebra добавить в виде архива к обсуждению

В ответ на Александр San

Re: Проблема с фильтром Algebra

от Vadim Tabunshchik -
Изображение пользователя Developers
могу все папку algebra добавить в виде архива к обсуждению

Зачем? У всех есть точно такая же папка есть, если moodle установлен.

Включите отладку на "Разработчик…", зайдите на страницу http://you_site/filter/algebra/algebradebug.php. Выполните пункты с 3 по 6, результаты сюда выложите. Или нет доступа к algebra2tex.pl, или mimetex.exe не работает

почему рекомендуете его отключить?

Потому что такие темы на форуме создают улыбаюсь

Если серьезно, то algebra-формулы обрабатываются mimetex’ом (огрызок от ТеХ), соответственно, не вся мощь ТеХ’а доступна, синтаксис отличается от правильного Тех/Латех и картинки генерируются GIF, а не PNG - качество хуже

И да, перл, похоже, в windows уже не нужен.

В ответ на Vadim Tabunshchik

Re: Проблема с фильтром Algebra

от Vadim Dvorovenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода

Если у вас было что-то завирусовано, возьмите заново всю папку с фильтром из дистрибутива. Ещё лучше обновитесь хотя бы до последнего релиза ветки 2.4, а ещё и лучше вообще до последней версии (естественно, сделав бэкап и, как вариант, обкатав обновление на копии). Как знать, возможно проблема была, но уже давно решена?

Судя по документации Algebra для windows также использует perl, а также должен быть настроен и включен фильтр TeX. Поэтому скопируйте заново  из дистрибутива и папку с TeX

В ответ на Vadim Dvorovenko

Re: Проблема с фильтром Algebra

от Vadim Tabunshchik -
Изображение пользователя Developers

Да, Вадим, вы правы, perl в windows нужен. У меня без него Algebra-формулы отображались, т. к. в БД остались записи улыбаюсь

Если почистить таблицу cache_filters, IIS виснет наглухо без perl. Установил это и полет нормальный.

В ответ на Vadim Tabunshchik

Re: Проблема с фильтром Algebra

от Александр San -

Так и не понял нужен, не нужен. у меня все таки не было - на сервере не нашел бинарников перла. но работать перестало. я в замешательстве.

В ответ на Александр San

Re: Проблема с фильтром Algebra

от Vadim Tabunshchik -
Изображение пользователя Developers
  1. Perl для фильтра Algebra в Windows устанавливать нужно. Путь к бинарнику должен быть прописан в переменных средах.
  2. В новых версиях Мудл, где есть MathJax, фильтр Algebra не нужен, от слова "вообще" улыбаюсь
  3. Обновление Мудл - https://docs.moodle.org/30/en/Upgrading. С 2.4 можно сразу обновлять до 3.0.3
В ответ на Vadim Tabunshchik

Re: Проблема с фильтром Algebra

от Александр San -

О, надеюсь курсы не посыпятся. архив если правильно понимаю для винды - zip, вот только мануал под линукс. под винду существует?

В ответ на Vadim Tabunshchik

Re: Проблема с фильтром Algebra

от Александр San -
сделал текущую копию сайта, Скачал https://download.moodle.org/stable30/moodle-latest-30.zip и распаковал с заменой (старый config остался - в архиве его нет) пробую открыть - тишина - просто белый экран в строке только редирект на ../admin/index.php. подскажите что делаю не так?
В ответ на Александр San

Re: Проблема с фильтром Algebra

от Vadim Tabunshchik -
Изображение пользователя Developers
распаковал с заменой…

Правильно не замену делать, а удалять старые файлы, оставив config.php, и на их место распаковывать новые.

просто белый экран…

Что в логах РНР? Включите вывод ошибок РНР (display_errors = On, display_startup_errors = On, error_reporting = E_ALL), посмотрите, что за ошибка.

только редирект на ../admin/index.php

Почистите вручную кэш, удалив папки moodledata/cache, moodledata/localcache

В ответ на Vadim Tabunshchik

Re: Проблема с фильтром Algebra

от Александр San -

Да все верно со второго раза предложил обновление. прошел проверку, запустил обновление. через какое-то время получил ошибку 500. Обновил страницу и уже спустя почти сутки все еще наблюдаю сообщение "Сайт обновляется, повторите попытку позже." а в заголовке окна - ошибка. Что можно сделать в данной ситуации?

В ответ на Александр San

Re: Проблема с фильтром Algebra

от Vadim Tabunshchik -
Изображение пользователя Developers
через какое-то время получил ошибку 500

Ошибка связана с непредвиденным завершением процесса FastCGI? Что-то такое или такое?

Процесс обновления требует больше ресурсов, чем при обычной работе сайта. Поэтому:

  1. В настройках РНР нужно Увеличить время выполнения скрипта max_execution_time, увеличить max_input_time
  2. Можно Увеличить в настройках IIS CGI timeouts. По умолчанию он установлен 5 мин, рекомендуют установить 1 час, хотя Вадим Дворовенко не советует улыбаюсь
  3. Попробовать увеличить ограничение на длину запроса в IIS - maxRequestLength Вот тут уже обсуждали: https://moodle.org/mod/forum/discuss.php?d=274893#p1181687
В ответ на Vadim Tabunshchik

Re: Проблема с фильтром Algebra

от Александр San -

Спасибо, за советы, постараюсь найти и обратить внимание на них внимание.

Смог обновиться с третьего раза.

после первого раза восстановил базу и пришлось попариться с сайтом. были нюансы с темой (почистил кэш) и с меню Администрирование - поиском по сайту почистил все кэши, далее пробовал снова. не пошло, снова почистил кэш и полетело)

теперь тестируем старые курсы и новые.


В ответ на Vadim Tabunshchik

Re: Проблема с фильтром Algebra

от Александр San -
по результату обновления с 2,4 до 3,0,3 - есть проблемы с формулами (плагин tex).

лишний элемент

неверное отображение формулы

неверное отображение формулы

игнорирование формулы
игнорирование формулы

А также отсутствие удобной кнопки "Сделать копию вопроса"
было редактирование
стало редактирование

В ответ на Александр San

Re: Проблема с фильтром Algebra

от Людмила Татарникова -

У меня версия Moodle 2.9, но некоторые проблемы узнаваемы.

По вертикальным линиям в конце формул - попробуйте установить в настройках MathJax последнюю версию (http://cdn.mathjax.org/mathjax/latest/MathJax.js).

На третьем скрине в формуле под пунктом "с" ошибка (лишняя "{"), а MathJax более чувствителен к ошибкам (судя по красивым формулам у Вас теперь работает не ТеХ, а MathJax).

Копия вопроса теперь делается не на странице редактирования вопроса, а в списке вопросов:


В ответ на Людмила Татарникова

Re: Проблема с фильтром Algebra

от Александр San -
спасибо за отзыв, а переключить на tex возможно? как обновить mathjax? не обновлял плагины

В ответ на Александр San

Re: Проблема с фильтром Algebra

от Людмила Татарникова -

Переключить на ТеХ можно, но MathJax лучше улыбаюсь

/ Администрирование/ Плагины/ Фильтры/ Управление фильтрами - включаете-отключаете нужные фильтры, приоритетнее будет тот, который расположен выше.

/ Администрирование/ Плагины/ Фильтры/ MathJax - ссылку на последнюю версию вставляете в поле "URL-адрес HTTP MathJax".

Здесь потрясающий ликбез от Вадима Дворовенко об этих двух фильтрах, как их настроить и как "подружить".

В ответ на Людмила Татарникова

Re: Проблема с фильтром Algebra

от Александр San -
спасибо. с url разобрался еще до ответа. а отключать фильтры необязательно - достаточно сменить порядок - верхний имеет приоритет.
В ответ на Vadim Tabunshchik

Re: Проблема с фильтром Algebra

от Александр San -
Понимаю что тема старая, но все таки. Имел ввиду эту ошибку



при попытке восстановить курс или скопировать такая же появляется (moodle 2.4.1)
Приложение 500 error.png