Actions

Rozwiązywanie problemów

From LimeSurvey Manual

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



Template:Uwaga


Ogólne

Ta strona zawiera listę typowych problemów technicznych i ich rozwiązań „po” pomyślnej instalacji. Jeśli chcesz rozwiązać problemy występujące podczas instalacji, zapoznaj się z Często zadawane pytania dotyczące instalacji.

Podczas próby otwarcia strony logowania administratora

Komunikat o błędzie: „Nie określono pliku wejściowego” po instalacji

lub

Każdy adres URL umożliwia przejście na stronę z listą ankiet

Podczas procesu instalacji LimeSurvey próbuje określić najlepsze rozwiązanie dla formatu adresu URL. Czasami to nie działa prawidłowo.

Musisz zmusić LimeSurvey do korzystania z innego systemu zarządzania adresami URL, edytując plik konfiguracyjny.

W /application/config/config.php zamień

  „urlFormat” => „ścieżka”,			

przez to:

  „urlFormat” => „pobierz”,

Następnie spróbuj otworzyć panel administracyjny korzystając z krótkiego adresu URL administratora:

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

Po zalogowaniu się do administracji

Każda akcja na stronie administracyjnej spowoduje powrót do ekranu logowania

Może się to zdarzyć z następujących głównych powodów:

  • Problemy z sesjami PHP
  • Problemy z kodowaniem UTF8
  • Problemy z IE

Sesje PHP :

  1. Zaktualizuj upload_tmp_dir i session.save_path w php.ini
  2. Utwórz skonfigurowaną sesję i prześlij katalogi
  3. IIS: Przypisane uprawnienia do tworzenia i modyfikowania konta gościa IIS
  4. Apache : Upewnij się, że Twój serwer WWW ma uprawnienia do zapisu w skonfigurowanym katalogu
  5. Sprawdź, czy zmienna „session.use_cookies” w php.ini jest ustawiona na 1.
  6. Sprawdź zmienną „session.auto_start” w php. ini. Jeśli jest ustawiony na 1, zmień go na 0.

Problemy z Internet Explorerem LimeSurvey nie obsługuje już dostępu do interfejsu administracyjnego poprzez przeglądarkę Internet Explorer.

Kodowanie UTF8:

Jeśli edytujesz jakiś plik (najprawdopodobniej config.php), nie zapisuj go w formacie UTF8, aby obsługiwać znaki języków specjalnych! Zawsze zapisuj pliki .php w prawdziwym formacie ANSI/ISO.

Przesłanie strony zawierającej dużą liczbę pytań/opcji odpowiedzi/pytań podrzędnych nie działa

W PHP 5.3.9 wprowadzono nowe ustawienie (które zostało nawet przeniesione do niektórych wcześniejszych wersji PHP): max_input_vars. To ustawienie ogranicza maksymalną liczbę zmiennych, które można wysłać POST (wysłać) na serwer.

Wartość domyślna jest ustawiona na 1000, ale jeśli masz pytanie z wieloma opcjami odpowiedzi lub stronę z ankietą z mnóstwem pytań/odpowiedzi granica ta może zostać przekroczona. Będziesz musiał ustawić to w swoim pliku konfiguracyjnym PHP (php.ini).

Daty nie są poprawnie wyświetlane przy użyciu serwera MSSQL z FreeTDS w systemie Linux

Zlokalizuj plik locales.conf FreeTDS i dokonaj jego edycji. Jeśli nie masz innych aplikacji korzystających z FreeTDS, po prostu zamień ich zawartość na

[domyślnie]
 format daty = %Y-% m- %d %H:% M: %S.% z

Jeśli masz inne aplikacje korzystające z FreeTDS, możesz najpierw sprawdzić, jakie ustawienia regionalne chcesz edytować.

Zapisz i zrestartuj serwer. Daty powinny być teraz wyświetlane poprawnie. Jeśli to nie zadziała, być może edytowałeś niewłaściwy plik - przepłucz i powtórz.

Kiedy wprowadzam znaki specjalne (polskie znaki diaktryczne, cyrylica etc.) podczas wypełniania ankiety, wyświetlane są znaki zapytania

Dzieje się tak, jeśli sama baza danych nie jest utworzona do używania zestawu znaków UTF-8. Może się to zdarzyć, gdy musisz utworzyć bazę danych za pomocą panelu administracyjnego dostawcy. Możesz rozwiązać ten problem, wykonując w swojej bazie danych następujące polecenie SQL (używając na przykład phpMyAdmin) ALTER DATABASE `<your_database_name> ` DOMYŚLNY ZESTAW ZNAKÓW utf8 COLLATE utf8_unicode_ci;

Zastępować<your_database_name> z nazwą Twojej bazy danych. Musisz to zrobić przed instalacją LimeSurvey.

PageSpeed stwarza pewne problemy dla Limesurvey

Powinieneś włączyć ModPagespeed off na swoim wirtualnym hoście LimeSurvey.

W przeciwnym razie nie będzie można korzystać z ConfortUpdate ani eksportować danych. Prawdopodobnie coś innego zawiedzie.

Podczas wypełniania ankiety

Błąd „Sesja wygasła”

W pewnym momencie możesz otrzymać wiadomość typu:

BŁĄD

Przepraszamy, ale Twoja sesja wygasła.

Albo byłeś zbyt długo nieaktywny, w przeglądarce wyłączyłeś obsługę plików cookie, albo wystąpiły problemy z połączeniem.

Jeśli Suhosin jest aktywowany na Twoim serwerze, może to być powód, dla którego otrzymujesz to w środku ankiety.

Template:Uwaga

Suhosin to zaawansowany system ochrony instalacji PHP, ale domyślna konfiguracja Suhosin może powodować problemy z LimeSurvey.

Najpierw sprawdź i przetestuj, korzystając z dziennika Suhosin, ustawiając suhosin.log.sapi = 511 i suhosin.simulation = on zgodnie z dokumentacją Suhosin.

Plik konfiguracyjny zwykle znajduje się w /etc/php5/apache2/conf.d/suhosin.ini, ale dla pewności możesz sprawdzić swoje phpinfo (Administracja LimeSurvey > Ustawienia globalne > Przycisk Pokaż phpinfo > Wiersz: „Przeanalizowano dodatkowe pliki .ini "), aby uzyskać poprawną ścieżkę.

Nie zapomnij zrestartować serwera Apache/Nginx, aby parametry zostały wzięte pod uwagę (restart usługi Apache2 lub restart usługi Nginx).

Kiedy symulacja jest włączona, Suhosin niczego nie blokuje, a błędy są zgłaszane w logach (zwykle w logu systemowym: /var/log/syslog). Jeśli pojawi się komunikat o błędzie, taki jak „ALERT-SIMULATION - przekroczono skonfigurowany limit zmiennej POST”, co oznacza alert Suhosin…”, wypróbuj następującą konfigurację (która wydaje się działać dobrze z 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

Dzięki tym parametrom powinieneś móc przełączyć suhosin.simulation z powrotem na wartość „off” (aby serwer był chroniony, a LimeSurvey nadal działał).

Domyślne wartości Suhosin nie działają dobrze z LimeSurvey. Jeśli naprawdę chcesz mocno zabezpieczyć swój serwer, możesz użyć trybu symulacji, aby dostroić ustawienia i znaleźć dobre wartości między 1000 a 5000 dla zmiennych oraz 1000000 i 5000000 dla wartości_długości.

Uwaga: Niedawno wprowadzono dodatkowe ustawienie PHP, które również należy poprawić: max_input_vars - to ustawienie jest takie samo jak suhosin.post.max_vars, ale należy je ustawić osobno w php.ini.

Nie mogę zmienić języka!

Niezależnie od tego, jaki język wybierzesz, interfejs (administratora i użytkownika) będzie zawsze wyświetlany w języku angielskim. Zwykle jest to spowodowane błędem w Twojej wersji PHP. Nie ma innego rozwiązania tego problemu niż aktualizacja wersji PHP.

Niektóre typowe błędy (koncentrują się na IIS)

Index.php nie otwiera się

Możliwa przyczyna: Może się to zdarzyć, jeśli nie zainstalowałeś niezbędnych rozszerzeń

  • Musisz zainstalować ciąg wielobajtowy i rozszerzenia MSSQL (lub MySQL)


Możliwa przyczyna: Nieskonfigurowany filtr ISAPI

  • W IIS dla witryny internetowej (można to zrobić na poziomie katalogu) należy ją skonfigurować tak, aby korzystała z pliku php5isapi.dll


Index.php nie otwiera się, a „php.exe -i” wyświetla komunikaty o błędach dotyczących braku plików .dll

Może się to zdarzyć, jeśli zainstalujesz zbyt wiele rozszerzeń

  • Jeśli zainstalujesz wszystkie rozszerzenia PHP, PHP nie powiedzie się, ponieważ nie wszystkie zależności zostały spełnione (np. pakiet Oracle wymaga bibliotek Oracle DLL)
  • Zainstaluj tylko te rozszerzenia, których potrzebujesz! N!* Aby przetestować, spróbuj uruchomić php.exe -i z wiersza poleceń

Brak bazy danych komunikatów

Może się to zdarzyć, jeśli przejdziesz do złego adresu URL:

  • Upewnij się, że idziesz do limesurvey/admin/install/index.php zamiast limesurvey/index.php!

Powyższe poprawki nie rozwiązują problemu

Może się to zdarzyć, jeśli nie uruchomiłeś ponownie IIS

  • Uruchom ponownie IIS

Rzeczy, o których łatwo zapomnieć:

  • Plik .php musi być powiązany, aby filtrować plik php5isapi.dll
  • Katalog limesurvey/tmp wymaga pozwolenia na zapis w przypadku przesyłania ankiet
  • aktualizacja doc_root w php.ini i $rootdir w config.php

Brakujące pliki („Nie ma takiego pliku ani katalogu”)

Podczas przesyłania LimeSurvey na Twój serwer może się zdarzyć, że połączenie zostanie przerwane i niektóre pliki nie zostaną przesłane lub nie zostaną przesłane w całości. W zależności od plików, przy uzyskiwaniu dostępu do różnych funkcji/części LimeSurvey możesz otrzymać różne komunikaty o błędach. Błędy zgłaszania brakujących plików wyglądają następująco:

„Ostrzeżenie: require_once(/path/to/your/limesurvey/installation/filename) [function.require-once]: nie udało się otworzyć strumienia: nie ma takiego pliku ani katalogu w /path/to/your/limesurvey/installation/filename na linia 12345” LUB

„Błąd krytyczny: require_once() [function.require]: Nie udało się otworzyć wymaganego „require_once(/path/to/your/limesurvey/installation/filename)” (include_path='.:/x/y/z) w /path/ do/twojego/limesurvey/instalacji/nazwy pliku w linii 12345"

Rozwiązanie

1. Usuń wszystkie przesłane pliki.

2. Prześlij pliki ponownie.

(3. Jeśli to konieczne: zainstaluj ponownie, przechodząc do /limesurveyfolder/admin/install)

Po przesłaniu strony lądujesz na stronie indeksu ogólnego/na stronie 404 lub pojawia się komunikat „Nie można zweryfikować tokena CSRF”

lub

Po kliknięciu „Dalej” na stronie zawierającej dużą liczbę odpowiedzi/pytań dodatkowych nie wszystkie odpowiedzi są zapisywane

lub

Po kliknięciu „Dalej” ląduję na tej samej stronie

or

Korzystanie z systemu szybkiego tłumaczenia nie powoduje zapisywania odpowiedzi ani pytań podrzędnych

or

Podczas eksportowania dużej liczby pól odpowiedzi nie wszystkie są eksportowane

  • Najprawdopodobniej dzieje się tak z powodu ograniczających ustawień na Twoim serwerze WWW: max_input_vars' . To ustawienie ogranicza maksymalną liczbę zmiennych, które można wysłać (wysłać) na serwer.

Domyślnie jest ustawione na 1000, ale jeśli masz pytanie z wieloma opcjami odpowiedzi lub stronę z ankietą z mnóstwem pytań/ odpowiedzi, limit ten może zostać przekroczony. Będziesz musiał edytować swoją konfigurację PHP (php.ini).

  • Sprawdź także ustawienia PHP, jeśli Twój host używa rozszerzenia Suhosin dla Apache, które może być ustawione jako zbyt ograniczające w kilku ustawieniach.
  • Na przykład oba ustawienia „suhosin.post.max_vars” i „suhosin.request.max_vars” mają domyślnie ustawioną wartość 200. Zwiększ te ustawienia do 400 lub więcej, aby użytkownicy mogli wypełniać i przesyłać długie ankiety.
  • Jeśli nadal masz problemy, spróbuj przełączyć moduł na tryb symulacji (a więc w zasadzie go dezaktywuj), ponieważ maksymalna wartość zawsze zależy od konkretnej ankiety.
  • Innym powodem może być serwer proxy lub podobne oprogramowanie, które nie pozwala na wysyłanie dużych żądań postów lub wielokrotne żądanie tej samej strony w tle (co prowadzi do utworzenia nowego klucza CSRF). W takim przypadku wypróbuj inne połączenie internetowe.

Podczas korzystania z serwera MSSQL Server z FreeTDS w systemie Linux nie są wyświetlane żadne pytania.

Jeśli dokładnie sprawdzisz dowolną grupę pytań, w jej znaczeniu pojawi się spacja, co sprawi, że cała grupa będzie nieistotna. Podstawowym problemem jest to, że FreeTDS zwraca spacje w pustych polach z powodu błędnej konfiguracji. Możesz rozwiązać ten problem, wymuszając wersję protokołu FreeTDS na co najmniej 8.0. Więc edytuj plik freetds.conf (np. /etc/freetds/freetds.conf) i zmień odpowiednią linię na

    wersja tds = 8.0

To powinno rozwiązać ten problem.

Po wypełnieniu ankiety

Teksty wprowadzone przez uczestnika pojawiają się w wynikach jako znaki zapytania

Dzieje się tak, jeśli Twoja baza danych domyślnie nie używa zestawu znaków UTF-8. Może się to zdarzyć, gdy musisz utworzyć bazę danych za pomocą panelu administracyjnego dostawcy. Możesz rozwiązać ten problem, wykonując w swojej bazie danych następujące polecenie SQL (używając na przykład phpMyAdmin):

   ZMIEŃ BAZY DANYCH `<your_database_name> ` DOMYŚLNY ZESTAW ZNAKÓW utf8 COLLATE utf8_unicode_ci;

Zastępować<your_database_name> z nazwą Twojej bazy danych. Po wykonaniu tej czynności dezaktywuj ankietę i aktywuj ją ponownie.

Problemy specyficzne dla bazy danych

Chcę, aby LimeSurvey używał określonego schematu Postgres

Ustaw w config.php 'initSQLs' => array('SET search_path TO "LimeSurvey";'), Zobacz domyślne ustawienia konfiguracji dla przykład.