Riešenie problémov
From LimeSurvey Manual
Všeobecné
Táto stránka uvádza typické technické problémy a ich riešenia po úspešnej inštalácii. Ak potrebujete vyriešiť problémy, ktoré sa vyskytnú počas inštalácie, pozrite si Často kladené otázky k inštalácii.
Pri pokuse o otvorenie prihlasovacej stránky administrácie
Chybová správa: "No input file specified" po inštalácii
alebo
Každá URL adresa vás presmeruje na stránku so zoznamom prieskumov
Počas inštalácie sa LimeSurvey pokúša určiť najlepšie riešenie pre formát URL. Niekedy to nefunguje správne.
Musíte prinútiť LimeSurvey, aby použil iný systém správy URL, a to úpravou konfiguračného súboru.
V súbore /application/config/config.php nahraďte
'urlFormat' => 'path',
týmto:
'urlFormat' => 'get',
Potom skúste otvoriť administračný panel pomocou skrátenej adresy URL administrácie:
http://<yourserver.net>/<limesurvey_dir>/admin
Po prihlásení do administrácie
Každá akcia na stránke administrácie vás vráti na prihlasovaciu obrazovku
K tomu môže dôjsť z nasledujúcich hlavných dôvodov:
- problémy s reláciami PHP
- problémy s kódovaním UTF8
- problémy s IE
Relácie PHP:
- Aktualizujte upload_tmp_dir a session.save_path v súbore php.ini
- Vytvorte nakonfigurované adresáre pre relácie a nahrávanie
- IIS: Priraďte povolenie na vytváranie a úpravu používateľskému účtu hosť služby IIS
- Apache: Uistite sa, že webový server má povolenie zapisovať do nakonfigurovaného adresára
- Skontrolujte, či je premenná "session.use_cookies" v php.ini nastavená na 1.
- Skontrolujte premennú "session.auto_start" v php.ini. Ak je nastavená na 1, zmeňte ju na 0.
Problémy s programom Internet Explorer LimeSurvey už nepodporuje prístup do administračného rozhrania cez Internet Explorer.
Kódovanie UTF8:
Ak upravujete akýkoľvek súbor (najčastejšie config.php), neukladajte ho v kódovaní UTF8 kvôli podpore špeciálnych znakov jazyka! Súbory .php vždy ukladajte vo formáte ANSI/ISO.
Odoslanie stránky, ktorá obsahuje veľké množstvo otázok/možností odpovede/podotázok, nefunguje
V PHP 5.3.9 (a spätne aj v niektorých starších verziách PHP) bolo zavedené nové nastavenie: max_input_vars. Toto nastavenie obmedzuje maximálny počet premenných, ktoré je možné odoslať (POST) na server. Predvolená hodnota je 1000, ale ak máte otázku s množstvom možností odpovede alebo stránku prieskumu s veľkým počtom otázok/odpovedí, tento limit sa môže prekročiť. Toto nastavenie budete musieť upraviť v konfiguračnom súbore PHP (php.ini).
Dátumy sa nezobrazujú správne pri použití MSSQL Server s FreeTDS v systéme Linux
Nájdite súbor locales.conf programu FreeTDS a upravte ho. Ak FreeTDS nepoužívajú žiadne iné aplikácie, jednoducho nahraďte jeho obsah týmto:
[default]
date format = %Y-%m-%d %H:%M:%S.%z
Ak FreeTDS používajú aj iné aplikácie, mali by ste najprv skontrolovať, ktorú lokalizáciu (locale) potrebujete upraviť.
Uložte súbor a reštartujte server. Dátumy by sa teraz mali zobrazovať správne. Ak to nefunguje, možno ste upravili nesprávny súbor – postup zopakujte.
Keď do prieskumu alebo administrácie zadávam špeciálne znaky (čínske, cyrilika, grécke, arabské), každý znak sa zobrazuje ako otáznik?
K tomu dochádza, ak samotná databáza nie je vytvorená so znakovou sadou UTF-8. Môže sa to stať, keď musíte databázu vytvoriť cez administračný panel poskytovateľa. Tento problém môžete vyriešiť vykonaním nasledujúceho príkazu SQL v databáze (napríklad pomocou phpMyAdmin) ALTER DATABASE `<your_database_name>` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Nahraďte <your_database_name> názvom vašej databázy. Musíte to urobiť pred inštaláciou LimeSurvey.
PageSpeed spôsobuje problémy v LimeSurvey
Do virtuálneho hostiteľa (virtualhost) LimeSurvey by ste mali pridať ModPagespeed off.
V opačnom prípade nebudete môcť používať ComfortUpdate ani exportovať dáta. Pravdepodobne zlyhá aj niečo ďalšie.
Počas vypĺňania prieskumu
Chyba "Session has expired" (Platnosť relácie vypršala)
Môže sa stať, že sa zobrazí správa podobná tejto:
ERROR
Ospravedlňujeme sa ale Vaša session vypršala.
Buď ste boli príliš dlho neaktívny, máte vo svojom prehliadači vypnuté cookies, alebo sa vyskytli problémy s pripojením.
Ak je na vašom serveri aktivovaný Suhosin, môže to byť dôvod, prečo sa vám toto zobrazí uprostred vypĺňania prieskumu.
Suhosin je pokročilý ochranný systém pre inštalácie PHP, ale predvolená konfigurácia Suhosinu môže spôsobovať problémy s LimeSurvey.
Najprv skontrolujte a otestujte pomocou logu Suhosinu nastavením suhosin.log.sapi = 511 a suhosin.simulation = on podľa dokumentácie Suhosinu.
Konfiguračný súbor sa zvyčajne nachádza v /etc/php5/apache2/conf.d/suhosin.ini, ale aby ste mali istotu, správnu cestu zistíte vo svojom phpinfo (administrácia LimeSurvey > Globálne nastavenia > tlačidlo Zobraziť PHPInfo > riadok: "Additional .ini files parsed").
Nezabudnite reštartovať server Apache/Nginx, aby sa parametre zohľadnili (service apache2 restart alebo service nginx restart).
Keď je simulácia zapnutá, Suhosin nič neblokuje a chyby sa zapisujú do logov (zvyčajne do systémového logu: /var/log/syslog). Ak sa zobrazí chybové hlásenie, ako napríklad "ALERT-SIMULATION - configured POST variable limit exceeded", ide o upozornenie Suhosinu. Vyskúšajte nasledujúcu konfiguráciu (ktorá s LimeSurvey podľa všetkého funguje dobre):
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
S týmito parametrami by ste mali byť schopní prepnúť suhosin.simulation späť na hodnotu "off" (takže server je chránený a LimeSurvey stále funguje).
Predvolené hodnoty Suhosinu s LimeSurvey nefungujú dobre. Ak chcete server skutočne dôkladne zabezpečiť, môžete použiť simulačný režim na doladenie nastavenia a nájsť vhodné hodnoty medzi 1000 a 5000 pre vars a medzi 1000000 a 5000000 pre value_lengths.
Nemôžem zmeniť jazyk!
Bez ohľadu na to, aký jazyk zvolíte, rozhranie (administrátorské aj používateľské) sa vždy zobrazuje v angličtine. Zvyčajne je to spôsobené chybou vo vašej verzii PHP. Jediným riešením je aktualizovať verziu PHP.
Niektoré časté chyby (zamerané na IIS)
Súbor Index.php sa neotvorí
Možná príčina: Môže sa to stať, ak ste nenainštalovali potrebné rozšírenia
- Musíte nainštalovať rozšírenia Multi-byte string a MSSQL (alebo MySQL)
Možná príčina: Nenakonfigurovaný filter ISAPI
- V IIS musíte pre webovú stránku (môžete to urobiť aj na úrovni adresára) nakonfigurovať používanie php5isapi.dll
Súbor Index.php sa neotvorí a "php.exe -i" vypisuje chybové hlásenia o chýbajúcich súboroch .dll
Môže sa to stať, ak nainštalujete príliš veľa rozšírení
- Ak nainštalujete všetky rozšírenia PHP, PHP zlyhá, pretože nie všetky závislosti budú splnené (napr. balík oracle potrebuje súbory oracle dll)
- Nainštalujte iba rozšírenia, ktoré potrebujete
- Na otestovanie skúste spustiť php.exe -i z príkazového riadka
Hlásenie o chýbajúcej databáze
Môže sa to stať, ak prejdete na nesprávnu adresu URL:
- Uistite sa, že idete na limesurvey/admin/install/index.php namiesto limesurvey/index.php !
Vyššie uvedené opravy problém nevyriešili
Môže sa to stať, ak ste nereštartovali IIS
- Reštartujte IIS
Veci, na ktoré sa ľahko zabúda:
- .php musí byť priradené k filtru php5isapi.dll
- adresár limesurvey/tmp potrebuje povolenie na zápis kvôli nahrávaniu súborov v prieskumoch
- aktualizácia doc_root v php.ini a $rootdir v config.php
Chýbajúce súbory ("No such file or directory")
Pri nahrávaní LimeSurvey na váš server sa môže stať, že sa spojenie preruší, takže niektoré súbory sa neprenesú alebo sa prenesú iba čiastočne. V závislosti od súborov sa môžu zobraziť rôzne chybové hlásenia pri prístupe k rôznym funkciám/častiam LimeSurvey. Chyby spôsobené chýbajúcimi súbormi vyzerajú takto:
"Warning: require_once(/path/to/your/limesurvey/installation/filename) [function.require-once]: failed to open stream: No such file or directory in /path/to/your/limesurvey/installation/filename on line 12345" ALEBO
"Fatal error: require_once() [function.require]: Failed opening required 'require_once(/path/to/your/limesurvey/installation/filename)' (include_path='.:/x/y/z) in /path/to/your/limesurvey/installation/filename on line 12345"
Riešenie
1. Odstráňte všetky nahraté súbory.
2. Nahrajte súbory znova.
(3. Ak je to potrebné: Nainštalujte znova prechodom na /limesurveyfolder/admin/install)
Po odoslaní stránky skončíte na všeobecnej indexovej stránke/na stránke 404 alebo sa zobrazí správa 'The CSRF token could not be verified'
alebo
Po kliknutí na 'Ďalej' na stránke, ktorá obsahuje veľké množstvo odpovedí/podotázok, sa neuložia všetky odpovede
alebo
Po kliknutí na 'Ďalej' skončím na tej istej stránke
alebo
Pri použití systému rýchleho prekladu sa neukladajú odpovede ani podotázky
alebo
Pri exporte veľkého počtu polí odpovedí sa nevyexportujú všetky
- Je to najpravdepodobnejšie spôsobené obmedzujúcim nastavením vo vašom webovom serveri: max_input_vars. Toto nastavenie obmedzuje maximálny počet premenných, ktoré je možné odoslať (POST) na server.
Predvolená hodnota je 1000, ale ak máte otázku s veľkým počtom možností odpovede alebo stránku prieskumu s veľmi veľkým počtom otázok/odpovedí, tento limit môže byť prekročený. Budete musieť upraviť konfiguráciu PHP (php.ini).
- Skontrolujte tiež nastavenia PHP, ak váš hosting používa rozšírenie Suhosin pre Apache, ktoré môže mať niektoré nastavenia príliš obmedzujúce.
- Napríklad obe nastavenia "suhosin.post.max_vars" a "suhosin.request.max_vars" sú predvolene nastavené na hodnotu 200. Zvýšte obe nastavenia na 400 alebo viac, aby mohli používatelia dokončiť a odoslať dlhé prieskumy.
- Ak problémy pretrvávajú, skúste prepnúť modul do simulation_mode (čím ho v podstate deaktivujete), pretože maximum vždy závisí od vášho konkrétneho prieskumu.
- Ďalším dôvodom môže byť proxy alebo podobný softvér, ktorý nepovoľuje veľké požiadavky POST alebo opakované vyžiadanie tej istej stránky na pozadí (čo vedie k vytvoreniu nového kľúča CSRF). V takom prípade skúste iné internetové pripojenie.
Pri použití MSSQL Server s FreeTDS na Linuxe sa nezobrazujú žiadne otázky
Ak si pozorne pozriete akúkoľvek skupinu otázok, v nastavení Význam skupiny sa nachádza medzera, ktorá spôsobuje, že celá skupina je nerelevantná. Základný problém spočíva v tom, že váš FreeTDS vracia pri prázdnych poliach medzery kvôli nesprávnej konfigurácii. Tento problém môžete vyriešiť vynútením verzie protokolu FreeTDS na minimálne 8.0. Upravte teda súbor freetds.conf (napr. /etc/freetds/freetds.conf) a zmeňte príslušný riadok na
tds version = 8.0
Tým by sa mal tento problém vyriešiť.
Po vyplnení prieskumu
Texty zadané respondentom sa vo výsledkoch zobrazujú ako otázniky
To sa stane, ak vaša databáza predvolene nepoužíva znakovú sadu UTF-8. Môže sa to stať, keď musíte databázu vytvoriť pomocou administračného panela poskytovateľa. Tento problém môžete vyriešiť vykonaním nasledujúceho príkazu SQL vo vašej databáze (napríklad pomocou phpMyAdmin):
ALTER DATABASE `<your_database_name>` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Nahraďte <your_database_name> názvom vašej databázy. Potom prieskum deaktivujte a znova aktivujte.
Problémy špecifické pre databázu
Chcem, aby LimeSurvey používal konkrétnu schému Postgres
Nastavte v config.php 'initSQLs' => array('SET search_path TO "LimeSurvey";'), Príklad nájdete v config-defaults.