При запуске тестирования системы Отчеты->Тестирование получил следующее:
testquestiontype.php
Notice: Undefined variable: CFG in /var/www/htdocs/nmc/question/type/shortanswer/simpletest/testquestiontype.php on line 15
Notice: Trying to get property of non-object in /var/www/htdocs/nmc/question/type/shortanswer/simpletest/testquestiontype.php on line 15
Warning: require_once(/question/type/questiontype.php) [function.require-once]: failed to open stream: No such file or directory in /var/www/htdocs/nmc/question/type/shortanswer/simpletest/testquestiontype.php on line 15
Fatal error: require_once() [function.require]: Failed opening required '/question/type/questiontype.php' (include_path='.:/usr/lib/php') in /var/www/htdocs/nmc/question/type/shortanswer/simpletest/testquestiontype.php on line 15
Исправлено добавлением перед указанной строкой global $CFG;
Версия Moodle 1.8.3
P.S.
Появился новый simpletest, а то как-то нехорошо использовать на стабильной ветке Moodle альфа-версию сторонней програмы
http://downloads.sourceforge.net/simpletest/simpletest_1.0.1beta2.tar.gz?modtime=1184642239&big_mirror=0
Column count doesn't match value count at row 1
INSERT INTO mdl_question ( CATEGORY, NAME, QUESTIONTEXT, QUESTIONTEXTFORMAT, IMAGE, GENERALFEEDBACK, DEFAULTGRADE, PENALTY, QTYPE, STAMP ) VALUES ( 100, 'З якого моменту починається кримінально-процесуальне провадження у кримінальній справі?', 'З якого моменту починається кримінально-процесуальне провадження у кримінальній справі?', 0, '', '', 1, 0,1, 'multichoice', 'nmc2.teacher.univd+071121062145+LyiZQ8' )
теперь странное - был установлен Moodle (апгрейдом с 1.7.1 до 1.8.3) на другой машине туда же был перенесен дапм с проблемной машины все работает как часы
Подробнее о системах:
проблемная
Apache 1.3.31
PHP 5.2.4 + eAccelerator
Mysql 5.0.45
Slackware - 10.0.0
Рабочая
Apache 1.3.37
PHP 4.4.4
Mysql 5.0.24a
Slackware - 11.0
еще одна странность - при установке на проблемную машину чистого 1.8.3 и попытке импортирования фала тестов получил вышеуказанную ошибку
Пока идея только одна - проблема с PHP хочу откатиться на версию с рабочей машины. как сделаю отпишусь о результатах
INSERT INTO mdl_question ( CATEGORY, NAME, QUESTIONTEXT, QUESTIONTEXTFORMAT, IMAGE, GENERALFEEDBACK, DEFAULTGRADE, PENALTY, QTYPE, STAMP ) VALUES ( 100, 'З якого моменту починається кримінально-процесуальне провадження у кримінальній справі?', 'З якого моменту починається кримінально-процесуальне провадження у кримінальній справі?', 0, '', '', 1, 0,1, 'multichoice', 'nmc2.teacher.univd+071121062145+LyiZQ8' )
- line 1425 of lib/dmllib.php: call to debugging()
- line 248 of question/format.php: call to insert_record()
- line 180 of question/import.php: call to qformat_default->importprocess()
теперь странное - был установлен Moodle (апгрейдом с 1.7.1 до 1.8.3) на другой машине туда же был перенесен дапм с проблемной машины все работает как часы
Подробнее о системах:
проблемная
Apache 1.3.31
PHP 5.2.4 + eAccelerator
Mysql 5.0.45
Slackware - 10.0.0
Рабочая
Apache 1.3.37
PHP 4.4.4
Mysql 5.0.24a
Slackware - 11.0
еще одна странность - при установке на проблемную машину чистого 1.8.3 и попытке импортирования фала тестов получил вышеуказанную ошибку
Пока идея только одна - проблема с PHP хочу откатиться на версию с рабочей машины. как сделаю отпишусь о результатах
отключение eAccelerator ничего не дало
Да забыл еще одну сопутствующую проблемку, которая возникла при обновлени php до 5 версии - страрая система 1,5 стала выдавать список вопросов на тестирование в следующем виде
заголовок (сам вопрос кракозябры - походу двойная перекодировка)
ответы - нормальная кодировка (база cp1251)
после отката к php 4.4.4 проблемка в старой системе исчезла - отображать стала и вопросы и ответы нормально, проблемы с 1,8 остались прежние
заголовок (сам вопрос кракозябры - походу двойная перекодировка)
ответы - нормальная кодировка (база cp1251)
после отката к php 4.4.4 проблемка в старой системе исчезла - отображать стала и вопросы и ответы нормально, проблемы с 1,8 остались прежние
Проблема локализована - нужна помощь
Проблема в следующем в файле moodle/question/format.php
$question->penalty = 0.1;
так вот не совсем понятно по какой причине это значение интерпритируется как 0,1 в результате дополнительное неучтенное значение в массиве question moodle пытается вставить в базу итоге поллучаем ошибку которая была описана ранее.
Проблема в следующем в файле moodle/question/format.php
$question->penalty = 0.1;
так вот не совсем понятно по какой причине это значение интерпритируется как 0,1 в результате дополнительное неучтенное значение в массиве question moodle пытается вставить в базу итоге поллучаем ошибку которая была описана ранее.
Вадим, запость, пожалуйста, структуру таблицы mdl_question с сервера, выдающего такую ошибку.
Database NMC2 - table mdl_question running on localhost
|
Structure | |
Browse | |
SQL | |
Select | |
Insert | |
Export | |
Operations | |
Options | |
Empty | |
Drop | |
The quiz questions themselves
Field | Type | Attributes | Null | Default | Extra | Action | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
id | int(10) | |
Yes | NULL | auto_increment | ||||||
|
category | int(10) | |
Yes | 0 | |
||||||
|
parent | int(10) | UNSIGNED | Yes | 0 | |
||||||
|
name | varchar(255) | |
Yes | |
|
||||||
|
questiontext | text | |
Yes | |
|
||||||
|
questiontextformat | tinyint(2) | |
Yes | 0 | |
||||||
|
image | varchar(255) | |
Yes | |
|
||||||
|
generalfeedback | text | |
Yes | |
|
||||||
|
defaultgrade | int(10) | UNSIGNED | Yes | 1 | |
||||||
|
penalty | float | |
Yes | 0.1 | |
||||||
|
qtype | varchar(20) | |
Yes | |
|
||||||
|
length | int(10) | UNSIGNED | Yes | 1 | |
||||||
|
stamp | varchar(255) | |
Yes | |
|
||||||
|
version | varchar(255) | |
Yes | |
|
||||||
|
hidden | int(1) | UNSIGNED | Yes | 0 | |
||||||
With selected: Or |
Проблема с полем penalty: в MySQL разделителем целой и дробной части является точка, а в твоем файле - запятая и по какой-то причине это поле не собрано в кавычки. Таким образом, MySQL опознает это значение как два, разделенных запятыми.
Это ошибка при составлении файла + ошибка самого Moodle (не экранируется спецсимвол). Наверное, нужно отправить багрепорт разработчикам.
Это ошибка при составлении файла + ошибка самого Moodle (не экранируется спецсимвол). Наверное, нужно отправить багрепорт разработчикам.
Алекс, не все так просто.. Дело в том, что в моем файле нет и намека на штрафные очки (penalty). Эта переменная почему-то объявляется в файле /moodle/question/format.php.
$question->penalty = 0.1;
И теперь она почему-то стала постоянной величеной, хотя раньше мне помнится эту величину можно было указывать произвольно. Но не в этом дело, я подозреваю, что это каким-то образом связано с установкой системного окружения сервера, а точнее указанием локализации. Только этим сейчас и отличаются мои сервера дома и на работе. На днях (после окончания массового тестирования наших гениев) проверю и отпишусь. Во всяком общая тенденция появления ошибок при парсинге внешних файлов связана именно с кириллицей (точнее с кириллической локализацией, если так можно выразиться) или я не прав?
$question->penalty = 0.1;
И теперь она почему-то стала постоянной величеной, хотя раньше мне помнится эту величину можно было указывать произвольно. Но не в этом дело, я подозреваю, что это каким-то образом связано с установкой системного окружения сервера, а точнее указанием локализации. Только этим сейчас и отличаются мои сервера дома и на работе. На днях (после окончания массового тестирования наших гениев) проверю и отпишусь. Во всяком общая тенденция появления ошибок при парсинге внешних файлов связана именно с кириллицей (точнее с кириллической локализацией, если так можно выразиться) или я не прав?
Ты прав - настройки локали влияют на отображение дробных чисел.
Хотя в версии 1.5.х такой жесткой зависимости не было
Логично - на то она и ошибка, чтобы появляться сама-собой
Мы ее локализовали, осталось только написать багрепорт разработчикам, со всеми подробностями, чтоб они могли ее исправить
Мы ее локализовали, осталось только написать багрепорт разработчикам, со всеми подробностями, чтоб они могли ее исправить
Немного осободился и сообщаю, как обещал, об исправлении ранее указанной ошибки. Ошибка была из разряда "сам дурак". В версии Moodle-1.5 была (у меня) проблема с указанием локализации через веб-интерфейс и для корректного отображения месяцев в календаре мне пришлось в файл конфигурации Moodle добавить строчку с функцией set_locale(). В версии 1.8 это привело к двойной перекодировке. Результат - проблемы с загрузкой файлов тестов. Указанную проблему решил удалением ранее добавленной сточки с функцией set_locale().
С прошедшими Новогодними и Рожденственскими праздниками!!!!
Желаю Всем здоровья, радости, удачи исполнения Ваших сокровенных желаний!!!!
Желаю Всем здоровья, радости, удачи исполнения Ваших сокровенных желаний!!!!
В продолжении начатой ветки форума....
Версия Moodle-1.8.3 при создании форума на главной странице и добавления туда новой темы. Получил отображение следующей ошибки "Error: Could not insert a new entry to the Moodle log". Хотя в логах работы системы действия прользователя сохраняются. Прочитав посты на эту тему на портале Moodle.org запустил скрипт крона (и наконец-то добавил его в crontab ). К сожалению это не помогло. Судя по всему это не критичная ошибка, но хотелось бы чтобы и ее не было
Версия Moodle-1.8.3 при создании форума на главной странице и добавления туда новой темы. Получил отображение следующей ошибки "Error: Could not insert a new entry to the Moodle log". Хотя в логах работы системы действия прользователя сохраняются. Прочитав посты на эту тему на портале Moodle.org запустил скрипт крона (и наконец-то добавил его в crontab ). К сожалению это не помогло. Судя по всему это не критичная ошибка, но хотелось бы чтобы и ее не было
При похожей ошибке на версии 1.9.5+ помогли пара запросов:
CHECK TABLE `mdl_log`;
REPAIR TABLE `mdl_log`;