Actions

Часто задаваемые вопросы по установке

From LimeSurvey Manual

Revision as of 05:24, 17 May 2015 by Nickdsl (talk | contribs) (Created page with "''Примечание:'' другие символы могут вызывать аналогичное поведение")

Содержание:

Во время установки

Как я могу создать базу данных и пользователя базы с помощью командной строки?

Вам необходимо ввести приведенные ниже команды в консоль MySQL.

create database <your_database_name>;

create user <your_database_username>;

create user <your_database_username>@localhost;

set password for <your_database_username> = PASSWORD('<your_database_password>');

set password for <your_database_username>@localhost = PASSWORD('<your_database_password>');

grant all on <your_database_name>.* to '<your_database_username>';

grant all on <your_database_name>.* to '<your_database_username>'@'localhost';

Вам необходимо подменить данные: <your_database_name>, <your_database_username> и <your_database_password> в приведенных командах на свои значения.

Что делать, если не получается создать базу данных с помощью скрипта?

Обычно, новую базу данных и структуру таблиц создает скрипт. Однако, если Ваш провайдер/сервер не дает Вам прав на создание базы данных в MySQL, то Ван нужно связаться с системным администратором для создания необходимой базы (или создать ее самостоятельно). Они должны создать пустую базу данных для Вас с соответствующими правами доступа (т.е.: чтение/запись/создание). Начните обычную установку LimeSurvey и система создаст таблицы в существующей базе.

Зачем нужна библиотека mbstring (Multibyte String Functions)?

Mbstring это PHP-библиотека, которая преобразовывает кодировки разных языков из одной в другую. Она понадобится, если Вы хотите развернуть у себя LimeSurvey. Чтобы проверить, установлена ли данная библиотека, перейдите по ссылке

http://<ваш_сервер>/<ваш_limesurvey_каталог>/admin/install/phpinfo.php

в браузере. Будет отображено великое множество информации. В секции Конфигурация найдите строку 'mbstring'.

Если такая строка найдена, то можете смело продолжать установку.

Если строка mbstring не найдена, то Вы можете получить кучу проблем.

Три возможных сценария развития событий:

  • Если Вы пользуетесь услугой сервис-провайдера(система находится на внешнем хостинге): то поинтересуйтесь у него как можно активировать данную библиотеку в PHP или же пусть он сам ее активирует - если у Вас достаточно мощная панель управления хостингом, то Вы можете самостоятельно сделать это.
  • Если система развернута на Вашем личном сервере Linux: Вы можете произвести повторную компиляцию PHP, включив в него библиотеку mbstring. Спросите у людей разбирающихся в Linux как сделать это. В большинстве версий Linux имеющихся на сегодня Вы можете установить все с помощью менеджера пакетов.
    • Если Вы пользуетесь системой на базе пакетов поддерживающих 'yum' (CentOS, RedHat, Fedora):
      1. Используйте терминал (от root-а) и введите: yum install php-mbstring
      2. Убедитесь в том что обновился файл /etc/php.ini и в нем имеются строки с параметрами mbstring (без комментариев в начале строки).
      3. Убедитесь, что перезагрузили apache после установки: /etc/init.d/httpd restart
  • Если же все развернуто на Вашем сервере Windows: Найдите php.ini в Вашей системе, откройте его любым редактором и найдите mbstring. Скорее всего большинство строк с данным словом будет закомментировано и Вам необходимо будет раскомментировать их. Удалите тточку с запятой, сохраните файл и перезагрузите web-сервер.

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

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

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

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

При попытке открыть страницу установки вижу пустую страницу

Здесь проблема не совсем в LimeSurvey, а в настройках установленного PHP.

  • Проверьте наличие установленного модуля PHP для поддержки работы с MySQL (php-mysql).
  • Проверьте Ваш установленный PHP на загрузку php.ini-файла, который Вы изменили и не проверяет ли он какие либо другие php.ini-файлы в Вашей системе.
  • Проверьте расположение и разрешения для Вашего файла php.ini
upload_tmp_dir="/temp"

session.save_path="/temp"
  • Проверьте версию запущенного PHP (т.е. "пустая страница" может быть связана с PHP v4.4 и LimeSurvey v2.00+).

Сообщения об ошибках о несуществующих ресурсах

Иногда случается так, что файлы не выгружаются корректно или повреждаются во время данного процесса. Это может приводить к различного рода сообщениям об ошибках. Большинство из них относятся к функциям находящимся в файле, который не может быть найден.

Решение: Загрузите файлы заново используя FTP-клиент в бинарном режиме.

После создания базы данных

Пустая страница после создания базы данных

Симптомы

  • LimeSurvey установлен, база создана, но при переходе на web-страницу получаем пустую страницу
  • Лог Web-сервера содержит записи "Fatal error: Call to a member function on a non-object in /path/to/limesurvey/admin/login_check.php on line 69"

Исправление

Скорее всего это некорректные значение параметров $rooturl или $rootdir в файле config.php. Обычно config.ini пытается установить корректный $rootdir с помощью вызова dirname('''FILE''') и зачастую это работает, но бывают сбои, если LimeSurvey установлен в домашний каталог пользователя или смонтированную по NFS папку. Попробуйте задать данный параметр вручную. Путь Вам может указать команда pwd в командной строке, наподобие "/disks/hostname/home/username/public_html/limesurvey", попробуйте воспользоваться "/home/username/public_html/limesurvey".

При попытке перехода на страницу администратора браузер постоянно загружает ее и ничего не показывает

Симптомы

  • LimeSurvey установлен, база данных создана, но при переходе на страницу администратора браузер постоянно загружает страницу и в итоге ничего не показывает
  • Когда Вы проверяете access.log на Web-сервере, то его размер оказывается очень большим (в некоторых случаях более чем 2GiB).
  • В файле access.log Вы видите одно и то же сообщение повторяющееся многократно

Warning: fread() [function.fread]: Length parameter must be greater than 0 in /limesurvey/classes/php-gettext/streams.php on line 120

Примечание: номер строки может отличаться в зависимости от версии LimeSurvey.

Исправление

Это может случаться при активированном параметре mbstring.func_overload. Проверьте Ваш php.ini и исправьте

mbstring.func_overload = 0

Примечание: это отключает перегрузку функций. Дополнительную документацию можно посмотреть в разделе Перегрузка функций

При попытке доступа к странице администратора браузер показывает ошибку Fatal error: Call to a member function gT() on a non-object in login_check.php on line 76

Симптомы

  • LimeSurvey установлен, база создана, но браузер показывает данную ошибку.
  • $rootdir и $rooturl указаны верно в файле config.php.
  • В пути к папке с файлами LimeSurvey присутствуют символы: ()+

Примечание: другие символы могут вызывать аналогичное поведение

Fix

Move / rename the limesurvey installation directory so that pathname does not include either the ( or ) characters

After installation

For all issues happening after a successful installation please refer to the Troubleshooting page.