x

Основные главы

  1. LimeSurvey Cloud и LimeSurvey CE: сравнение
  2. Краткое руководство по началу работы - LimeSurvey 3.0+
  3. Установка - LimeSurvey CE
  4. Как разработать хороший опрос (руководство)
  5. Начиная
  6. Администрирование LimeSurvey
  7. Опросы - Вступление
  8. Настройки опроса
  9. Меню опроса
  10. Структура опроса
  11. Вопросы — введение
  12. Группы вопросов - введение
  13. Опросы - управление
  14. Параметры панели инструментов опроса
  15. Многоязычный опрос
  16. Движок ExpressionScript — краткое руководство
  17. Не классифицированы и расширенные функции
  18. ЧаВо
  19. Устранение неполадок
  20. Обходные пути
  21. Лицензия
  22. Журнал изменений версий
  23. Плагины
 Actions

Устранение неполадок

From LimeSurvey Manual

Эта страница, возможно, переведена машинным способом и может содержать ошибки. Показать английский оригинал · Улучшить этот перевод
This page is a translated version of the page Troubleshooting and the translation is 100% complete.



Следующий раздел вики подготовлен усилиями нескольких участников сообщества LimeSurvey. Более актуальную информацию можно найти на форуме LimeSurvey. Для профессиональной поддержки обратитесь к одному из наших авторизованных партнёров LimeSurvey: https://limesurvey.com.


Общие сведения

На этой странице перечислены типичные технические проблемы и способы их решения после успешной установки. Если вам нужно устранить проблемы, возникающие во время установки, обратитесь к разделу FAQ по установке.

При попытке открыть страницу входа в панель администрирования

Сообщение об ошибке: "No input file specified" после установки

или

Любой URL приводит на страницу со списком опросов

Во время установки LimeSurvey пытается определить наилучший формат URL. Иногда это работает неправильно.

Необходимо принудительно заставить LimeSurvey использовать другую систему управления URL, отредактировав файл конфигурации.

В файле /application/config/config.php замените

     'urlFormat' => 'path',			

на следующее:

     'urlFormat' => 'get',

Затем попробуйте открыть панель администрирования, используя короткий URL администратора:

   http://<yourserver.net>/<limesurvey_dir>/admin

После входа в панель администрирования

Любое действие на странице администрирования возвращает вас на экран входа

Это может происходить по следующим основным причинам:

  • проблемы с сессиями PHP
  • проблемы с кодировкой UTF8
  • проблемы с IE

Сессии PHP:

  1. Обновите upload_tmp_dir и session.save_path в php.ini
  2. Создайте настроенные каталоги для сессий и загрузок
  3. IIS: назначьте гостевой учётной записи IIS разрешение на создание и изменение
  4. Apache: убедитесь, что у веб-сервера есть разрешения на запись в настроенный каталог
  5. Проверьте, что переменная "session.use_cookies" в php.ini имеет значение 1.
  6. Проверьте переменную "session.auto_start" в php.ini. Если она равна 1, измените её на 0.

Проблемы с Internet Explorer LimeSurvey больше не поддерживает доступ к интерфейсу администрирования через Internet Explorer.

Кодировка UTF8:

Если вы редактируете какой-либо файл (чаще всего config.php), не сохраняйте его в UTF8 ради поддержки специальных символов языка! Всегда сохраняйте файлы .php в настоящем формате ANSI/ISO.

Не работает отправка страницы, содержащей большое количество вопросов/вариантов ответов/подвопросов

В PHP 5.3.9 (и даже в некоторых более ранних версиях PHP) появилась новая настройка: max_input_vars. Она ограничивает максимальное количество переменных, которые могут быть отправлены на сервер методом POST. По умолчанию установлено значение 1000, но если у вас есть вопрос с большим количеством вариантов ответов или страница опроса с очень большим числом вопросов/ответов, этот лимит может быть превышен. Эту настройку необходимо изменить в файле конфигурации PHP (php.ini).

Даты отображаются неправильно при использовании MSSQL Server с FreeTDS на Linux

Найдите файл locales.conf FreeTDS и отредактируйте его. Если другие приложения не используют FreeTDS, просто замените его содержимое на

[default]
    date format = %Y-%m-%d %H:%M:%S.%z

Если FreeTDS используют другие приложения, сначала проверьте, какую локаль необходимо отредактировать.

Сохраните файл и перезапустите сервер. Теперь даты должны отображаться правильно. Если это не помогло, возможно, вы отредактировали не тот файл — повторите процедуру.

При вводе специальных символов (китайских, кириллических, греческих, арабских) в опрос или в панель администрирования каждый символ отображается как вопросительный знак?

Это происходит, если сама база данных создана без использования кодировки UTF-8. Такое может случиться, когда базу данных приходится создавать через панель администрирования провайдера. Решить проблему можно, выполнив следующую команду SQL для вашей базы данных (например, с помощью phpMyAdmin) ALTER DATABASE `<your_database_name>` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Замените <your_database_name> на имя вашей базы данных. Это необходимо сделать до установки LimeSurvey.

PageSpeed вызывает проблемы в LimeSurvey

Добавьте ModPagespeed off в виртуальный хост LimeSurvey.

В противном случае вы не сможете использовать ComfortUpdate и выполнять экспорт данных. Вероятно, перестанет работать что-то ещё.

Во время прохождения опроса

Ошибка «Время сессии истекло»

В какой-то момент вы можете увидеть сообщение вида:

ERROR

К сожалению, время вашей сессии истекло.

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

Если на вашем сервере активирован Suhosin, это может быть причиной того, что вы получаете это сообщение посреди прохождения опроса.

Если опрос неактивен, поведение может отличаться: посреди прохождения опроса вы можете быть перенаправлены на публичный список опросов. Решение то же самое.

Suhosin — это расширенная система защиты для установок PHP, но конфигурация Suhosin по умолчанию может создавать проблемы для LimeSurvey.

Сначала проверьте и протестируйте работу с помощью журнала Suhosin, установив suhosin.log.sapi = 511 и suhosin.simulation = on в соответствии с документацией Suhosin.

Файл конфигурации обычно находится в /etc/php5/apache2/conf.d/suhosin.ini, но чтобы узнать точный путь, можно открыть phpinfo (администрирование LimeSurvey > Общие настройки > кнопка Показать PHPInfo > строка «Additional .ini files parsed»).

Не забудьте перезапустить сервер Apache/Nginx, чтобы параметры вступили в силу (service apache2 restart или service nginx restart).

Когда режим симуляции включён, Suhosin ничего не блокирует, а ошибки записываются в журналы (обычно в системный журнал: /var/log/syslog). Если вы получаете сообщения об ошибках вида «ALERT-SIMULATION - configured POST variable limit exceeded», это предупреждение Suhosin. В этом случае попробуйте следующую конфигурацию (которая, судя по всему, хорошо работает с LimeSurvey):

suhosin.memory_limit = 128
suhosin.post.max_value_length = 5000000
suhosin.post.max_vars = 5000
suhosin.request.max_value_length = 5000000
suhosin.request.max_vars = 5000

С этими параметрами вы сможете вернуть для suhosin.simulation значение «Выкл» (так сервер останется защищённым, а LimeSurvey продолжит работать).

Значения Suhosin по умолчанию плохо работают с LimeSurvey. Если вы действительно хотите максимально защитить свой сервер, используйте режим симуляции, чтобы настроить параметры и подобрать подходящие значения: от 1000 до 5000 для vars и от 1000000 до 5000000 для value_lengths.

Примечание: Недавно в PHP появился дополнительный параметр, который также нужно изменить: max_input_vars. Он аналогичен suhosin.post.max_vars, но его необходимо задавать отдельно в php.ini.

Я не могу изменить язык!

Какой бы язык вы ни выбрали, интерфейс (администратора и пользователя) всегда отображается на английском языке. Обычно это вызвано ошибкой в вашей версии PHP. Других способов исправить это, кроме обновления версии PHP, нет.

Некоторые распространённые ошибки (для IIS)

Index.php не открывается

Возможная причина: это может произойти, если не установлены необходимые расширения.

  • Необходимо установить расширения Multi-byte string и MSSQL (или MySQL)


Возможная причина: не настроен фильтр ISAPI.

  • В IIS для веб-сайта (это можно сделать на уровне каталога) необходимо настроить использование php5isapi.dll


Index.php не открывается, а «php.exe -i» выдаёт сообщения об ошибках из-за отсутствующих .dll

Это может произойти, если установлено слишком много расширений.

  • Если установить все расширения PHP, PHP не запустится, так как не все зависимости будут удовлетворены (например, для пакета oracle нужны dll Oracle)
  • Устанавливайте только те расширения, которые вам нужны
  • Для проверки попробуйте выполнить php.exe -i из командной строки

Сообщение об отсутствии базы данных

Это может произойти, если вы перешли по неверному URL:

  • Убедитесь, что вы открываете limesurvey/admin/install/index.php, а не limesurvey/index.php!

Описанные выше способы не решают проблему

Это может произойти, если вы не перезапустили IIS.

  • Перезапустите IIS

О чём легко забыть:

  • .php должен быть связан с фильтром php5isapi.dll
  • каталогу limesurvey/tmp необходимо разрешение на запись для загрузки файлов в опросах
  • обновление doc_root в php.ini и $rootdir в config.php

Отсутствующие файлы («No such file or directory»)

При загрузке LimeSurvey на сервер соединение может прерваться, и некоторые файлы будут переданы не полностью или не будут переданы вовсе. В зависимости от того, какие файлы отсутствуют, при обращении к различным функциям и разделам LimeSurvey могут появляться разные сообщения об ошибках. Ошибки из-за отсутствующих файлов выглядят так:

"Warning: require_once(/path/to/your/limesurvey/installation/filename) [function.require-once]: failed to open stream: No such file or directory in /path/to/your/limesurvey/installation/filename on line 12345" ИЛИ

"Fatal error: require_once() [function.require]: Failed opening required 'require_once(/path/to/your/limesurvey/installation/filename)' (include_path='.:/x/y/z) in /path/to/your/limesurvey/installation/filename on line 12345"

Решение

1. Удалите все загруженные файлы.

2. Загрузите файлы заново.

(3. При необходимости переустановите LimeSurvey, открыв в браузере /limesurveyfolder/admin/install)

После отправки страницы вы попадаете на главную страницу/на страницу 404 или получаете сообщение «The CSRF token could not be verified»

или

После нажатия кнопки «Продолжить» на странице с большим количеством ответов/подвопросов сохраняются не все ответы

или

После нажатия кнопки «Продолжить» я снова попадаю на ту же страницу

или

При использовании системы быстрого перевода ответы или подвопросы не сохраняются

или

При экспорте большого количества полей ответов экспортируются не все из них

  • Скорее всего, причина в ограничивающей настройке вашего веб-сервера: max_input_vars. Эта настройка ограничивает максимальное количество переменных, которые можно отправить (POST) на сервер.

По умолчанию установлено значение 1000, но если в вопросе очень много вариантов ответов или на странице опроса очень много вопросов/ответов, этот лимит может быть превышен. Вам нужно изменить конфигурацию PHP (php.ini).

  • Также проверьте настройки PHP, если ваш хостинг использует расширение Suhosin для Apache: некоторые его параметры могут быть слишком ограничивающими.
  • Например, для двух параметров «suhosin.post.max_vars» и «suhosin.request.max_vars» по умолчанию установлено значение 200. Увеличьте оба значения до 400 или выше, чтобы пользователи могли заполнять и отправлять длинные опросы.
  • Если проблемы остаются, попробуйте переключить модуль в режим simulation_mode (то есть фактически отключить его), так как максимальное значение всегда зависит от конкретного опроса.
  • Другая причина — прокси или аналогичное программное обеспечение, которое не допускает больших POST-запросов или повторных запросов одной и той же страницы в фоновом режиме (из-за чего создаётся новый CSRF-ключ). В этом случае попробуйте использовать другое подключение к интернету.

Вопросы не отображаются при использовании MSSQL Server с FreeTDS в Linux

Если внимательно проверить любую группу вопросов, то в поле «Условие показа группы» можно обнаружить пробел, из-за которого вся группа становится неактуальной. Причина в том, что из-за неверной настройки FreeTDS возвращает пробелы в пустых полях. Проблему можно решить, принудительно установив версию протокола FreeTDS не ниже 8.0. Отредактируйте файл freetds.conf (например, /etc/freetds/freetds.conf) и измените соответствующую строку следующим образом:

    tds version = 8.0

Это должно устранить проблему.

После прохождения опроса

Тексты, введённые участником, отображаются в результатах как вопросительные знаки

Это происходит, если сама база данных по умолчанию не использует кодировку UTF-8. Такое может случиться, когда базу данных приходится создавать через панель администрирования хостинг-провайдера. Проблему можно решить, выполнив в вашей базе данных следующую SQL-команду (например, с помощью phpMyAdmin):

   ALTER DATABASE `<your_database_name>` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Замените <your_database_name> на имя вашей базы данных. После этого деактивируйте опрос и активируйте его снова.

Проблемы, связанные с базами данных

Я хочу, чтобы LimeSurvey использовал определённую схему Postgres

Укажите в config.php 'initSQLs' => array('SET search_path TO "LimeSurvey";'), Пример см. в config-defaults.