Actions

Отстраняване на неизправности

From LimeSurvey Manual

This page is a translated version of the page Troubleshooting and the translation is 100% complete.



Template:Забележка


Общи

Тази страница изброява типичните технически проблеми и техните решения „след“ успешна инсталация. Ако трябва да отстраните проблеми, възникнали по време на инсталацията, моля, вижте Често задавани въпроси за инсталация.

Когато се опитвате да отворите страницата за вход на администрацията

Съобщение за грешка: „Няма указан входен файл“ след инсталация

или

Всеки URL адрес ви позволява да стигнете до страницата със списък с анкети

По време на инсталационния процес LimeSurvey се опитва да определи най-доброто решение за URL-формата. Понякога това не работи правилно.

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

В /application/config/config.php заменете

  'urlFormat' => 'път',			

с това:

  'urlFormat' => 'get',

След това опитайте да отворите административния панел, като използвате краткия администраторски URL:

http://<yourserver.net> /<limesurvey_dir> /админ

След влизане в администрацията

Всяко действие в администраторската страница ще ви върне към екрана за вход

Това може да се случи поради следните основни причини:

  • Проблеми с 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. Тази настройка ограничава максималния брой променливи, които могат да бъдат публикувани (изпратени) на сървъра. По подразбиране е зададено на 1000, но ако имате въпрос с много опции за отговор или страница с проучване с много и много въпроси/отговори това ограничение може да бъде превишено. Ще трябва да зададете това във вашия PHP конфигурационен файл (php.ini).

Датите не се показват правилно при използване на MSSQL Server с FreeTDS на Linux

Намерете файла locales.conf на FreeTDS и го редактирайте. Ако нямате други приложения, използващи FreeTDS, просто заменете съдържанието с

[по подразбиране]
 формат на датата = %Y-% m- %d %H:% M: %S.% z

Ако имате други приложения, използващи FreeTDS, може да искате първо да проверите кой локал трябва да редактирате.

Запазете и рестартирайте сървъра. Сега датите трябва да се показват правилно. Ако това не работи, може да сте редактирали грешен файл - изплакнете и повторете.

Когато въвеждам специални знаци (китайски, кирилица, гръцки, арабски) в моята анкета или администрация, всеки знак се показва като въпросителен знак?

Това се случва, ако самата база данни не е създадена да използва набор от знаци UTF-8. Това може да се случи, когато трябва да създадете базата данни с помощта на административен панел на доставчика. Можете да коригирате този проблем, като изпълните следната SQL команда на вашата база данни (използвайки например phpMyAdmin) ALTER DATABASE `<your_database_name> ` НАБОР СИМВОЛИ ПО ПОДРАЗБИРАНЕ utf8 COLLATE utf8_unicode_ci;

Сменете<your_database_name> с името на вашата база данни. Трябва да направите това, преди да инсталирате LimeSurvey.

PageSpeed създава някои проблеми на Limesurvey

Трябва да включите ModPagespeed off във вашия виртуален хост LimeSurvey.

В противен случай няма да можете да използвате ConfortUpdate, нито да експортирате данни. Вероятно нещо друго ще се провали.

По време на анкета

Грешка „Сесията е изтекла“

Може в един момент да получите съобщение като:

ГРЕШКА

Съжаляваме, но вашата сесия е изтекла.

Или сте били неактивни твърде дълго, имате деактивирани бисквитки за браузъра си, или е имало проблеми с връзката ви.

Ако Suhosin е активиран на вашия сървър, това може да е причината да получите това по средата на проучване.

Template:Забележка

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

Първо проверете и тествайте с помощта на дневника на Suhosin, като зададете suhosin.log.sapi = 511 и suhosin.simulation = on според документацията на Suhosin.

Конфигурационният файл обикновено се намира в /etc/php5/apache2/conf.d/suhosin.ini, но за да сте сигурни, можете да проверите вашата phpinfo (LimeSurvey администрация > Глобални настройки > Бутон Показване на phpinfo > Ред: „Допълнителни .ini файлове, анализирани "), за да получите правилния път.

Не забравяйте да рестартирате вашия Apache/Nginx сървър, за да се вземат предвид параметрите (рестартиране на услугата apache2 или рестартиране на услугата nginx).

Когато симулацията е включена, Suhosin не блокира нищо и грешките се съобщават в регистрационните файлове (обикновено във вашия системен журнал: /var/log/syslog). Ако получите съобщение за грешка като „ALERT-SIMULATION – конфигуриран лимит на POST променлива е превишен“, това е предупреждение от 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 за променливите и 1000000 и 5000000 за value_lengths.

'Забележка: Наскоро беше въведена допълнителна PHP настройка, която също трябва да бъде променена: max_input_vars - тази настройка е същата като suhosin.post.max_vars, но трябва да бъде зададена отделно в php.ini.

Не мога да сменя езика!

Без значение какъв език изберете, интерфейсът (администратор и потребител) винаги се показва на английски език. Обикновено това се причинява от грешка във вашата PHP версия. Няма друго решение за това освен актуализиране на вашата PHP версия.

Някои често срещани грешки (фокусирани върху IIS)

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

Възможна причина: Това може да се случи, ако не сте инсталирали необходимите разширения

  • Трябва да инсталирате многобайтов низ и MSSQL (или MySQL) разширения


Възможна причина: ISAPI филтърът не е конфигуриран

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


Index.php не се отваря и "php.exe -i" дава съобщения за грешка за липсващи .dll

Това може да се случи, ако инсталирате твърде много разширения

  • Ако инсталирате всички PHP разширения, PHP ще се провали, защото не са изпълнени всички зависимости (напр. пакетът oracle се нуждае от oracle dll)
  • Инсталирайте само разширенията, от които се нуждаете! N!* За да тествате, опитайте да изпълните 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

Липсващи файлове ("Няма такъв файл или директория")

Когато качвате LimeSurvey на вашия сървър, може да се случи връзката да бъде прекъсната, така че някои файлове да не се прехвърлят или да не се прехвърлят напълно. В зависимост от файловете можете да получавате различни съобщения за грешка всеки път, когато имате достъп до различни функции/части на LimeSurvey. Грешките за липсващи файлове изглеждат така:

"Предупреждение: require_once(/path/to/your/limesurvey/installation/filename) [function.require-once]: не успя да отвори поток: Няма такъв файл или директория в /path/to/your/limesurvey/installation/filename на линия 12345" ИЛИ

„Фатална грешка: require_once() [function.require]: Неуспешно отваряне изисква „require_once(/path/to/your/limesurvey/installation/filename)“ (include_path='.:/x/y/z) в /path/ към/вашата/limesurvey/инсталация/име на файл на линия 12345"

Решение

1. Изтрийте всички качени файлове.

2. Качете отново файловете.

(3. Ако е необходимо: Преинсталирайте, като прегледате /limesurveyfolder/admin/install)

След като изпратите страница, се озовавате на общата индексна страница/на страница 404 или получавате съобщението „CSRF токенът не може да бъде проверен“

или

След щракване върху „Напред“ на страница, която съдържа голям брой отговори/подвъпроси, не всички отговори се запазват

или

След щракване върху „Напред“ се озовавам на същата страница

или

Използването на системата за бърз превод не запазва отговорите или подвъпросите

или

Когато експортирате голям брой полета за отговор, не всички от тях се експортират

  • Това най-вероятно се дължи на ограничаваща настройка във вашия уеб сървър: max_input_vars . Тази настройка ограничава максималния брой променливи, които могат да бъдат публикувани (изпратени) на сървъра.

По подразбиране е зададено на 1000, но ако имате въпрос с много опции за отговор или страница с проучване с много, много въпроси/ отговори, това ограничение може да бъде надвишено. Ще трябва да редактирате вашата PHP конфигурация (php.ini).

  • Също така, проверете вашите PHP настройки, ако вашият хост използва Suhosin разширение за Apache, което може да е настроено да бъде твърде ограничаващо за няколко настройки.
  • Например, двете настройки "suhosin.post.max_vars" и "suhosin.request.max_vars" са зададени на стойност 200 по подразбиране. Увеличете тези настройки до 400 или по-високи, така че потребителите да могат да попълват и изпращат дълги проучвания.
  • Ако все още имате проблеми, опитайте да превключите модула на simulation_mode (и така основно да го деактивирате), тъй като максималната стойност винаги зависи от вашето конкретно проучване.
  • Друга причина може да е прокси или подобен софтуер, който не позволява заявки за големи публикации или искане на една и съща страница няколко пъти във фонов режим (което води до създаване на нов CSRF ключ). В този случай опитайте друга интернет връзка.

Не се показват въпроси при използване на MSSQL Server с FreeTDS на Linux

Ако проверите внимателно всяка група въпроси, има място в уместността на групата, което прави цялата група неуместна. Основният проблем е, че вашият FreeTDS връща интервали в празни полета поради грешна конфигурация. Можете да коригирате този проблем, като принудите версията на протокола FreeTDS да бъде поне 8.0. И така, редактирайте freetds.conf (напр. /etc/freetds/freetds.conf) и променете съответния ред на

    tds версия = 8.0

Това трябва да реши този проблем.

След попълване на анкетата

Текстовете, въведени от участника, се появяват като въпросителни знаци в резултатите

Това се случва, ако самата ви база данни не използва по подразбиране набор от знаци UTF-8. Това може да се случи, когато трябва да създадете базата данни с помощта на административен панел на доставчика. Можете да коригирате този проблем, като изпълните следната SQL команда във вашата база данни (използвайки например phpMyAdmin):

   ПРОМЕНЯ БАЗА ДАННИ `<your_database_name> ` НАБОР СИМВОЛИ ПО ПОДРАЗБИРАНЕ utf8 COLLATE utf8_unicode_ci;

Сменете<your_database_name> с името на вашата база данни. След като направите това, деактивирайте анкетата си и я активирайте отново.

Специфични проблеми с базата данни

Искам LimeSurvey да използва конкретна схема на Postgres

Задайте в config.php 'initSQLs' => array('SET search_path TO "LimeSurvey";'), Вижте config-defaults за пример.