Installation FAQ/ru: Difference between revisions
From LimeSurvey Manual
(Created page with "==Пустая страница после создания базы данных==") |
(Created page with "===Симптомы=== * LimeSurvey установлен, база создана, но при переходе на web-страницу получаем пустую стр...") |
||
Line 79: | Line 79: | ||
==Пустая страница после создания базы данных== | ==Пустая страница после создания базы данных== | ||
=== | ===Симптомы=== | ||
* LimeSurvey | * LimeSurvey установлен, база создана, но при переходе на web-страницу получаем пустую страницу | ||
* Web | * Лог Web-сервера содержит записи "Fatal error: Call to a member function on a non-object in /path/to/limesurvey/admin/login_check.php on line 69" | ||
===Fix=== | ===Fix=== |
Revision as of 05:09, 17 May 2015
Содержание:
Во время установки
Как я могу создать базу данных и пользователя базы с помощью командной строки?
Вам необходимо ввести приведенные ниже команды в консоль 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):
- Используйте терминал (от root-а) и введите: yum install php-mbstring
- Убедитесь в том что обновился файл /etc/php.ini и в нем имеются строки с параметрами mbstring (без комментариев в начале строки).
- Убедитесь, что перезагрузили 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"
Fix
This is probably an incorrect setting for $rooturl or $rootdir in config.php. In particular, config.php attempts to set $rootdir correctly by calling dirname('''FILE''') and while this usually works, it can be upset when LimeSurvey is installed in a user's home or public_html directory and the home directory is mounted over NFS. Try setting $rootdir manually, and in particular, while your shell or pwd command may show a path like "/disks/hostname/home/username/public_html/limesurvey", try using "/home/username/public_html/limesurvey".
When accessing admin page, the browser keeps running and will eventually fail to show it
Symptoms
- LimeSurvey installed OK and database was created. But when you access the admin page, the browser keeps running and will eventually fail to show the page.
- When you check the web server access log, its size has become so big (in some cases, more than 2 GB).
- Inside the access log, you get this message filling the log.
Warning: fread() [function.fread]: Length parameter must be greater than 0 in /limesurvey/classes/php-gettext/streams.php on line 120
Note: line number may be different depending on your LimeSurvey version.
Fix
This may be caused by the mbstring.func_overload setting. Check the setting in your php.ini and set as the following.
mbstring.func_overload = 0
Note: This means no function overloading. See PHP manual for this setting: Function Overloading Feature
When accessing admin page, the browser reports Fatal error: Call to a member function gT() on a non-object in login_check.php on line 76
Symptoms
- LimeSurvey installed OK and database was created. But when rdirected to the admin page, the browser displayed the the listed error.
- $rootdir and $rooturl are correctly set in config.php.
- The disk path name for limesurvey installation directory includes one of the following characters: ()+
Note: Other characters may also induce the same behaviour
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.