Rozwiązywanie problemów
From LimeSurvey Manual
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 :
- Zaktualizuj upload_tmp_dir i session.save_path w php.ini
- Utwórz skonfigurowaną sesję i prześlij katalogi
- IIS: Przypisane uprawnienia do tworzenia i modyfikowania konta gościa IIS
- Apache : Upewnij się, że Twój serwer WWW ma uprawnienia do zapisu w skonfigurowanym katalogu
- Sprawdź, czy zmienna „session.use_cookies” w php.ini jest ustawiona na 1.
- 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.
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.
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.