Odpravljanje težav
From LimeSurvey Manual
Splošno
Na tej strani so navedene tipične tehnične težave in njihove rešitve po uspešni namestitvi. Če morate odpraviti težave, ki se pojavijo med namestitvijo, glejte Pogosta vprašanja o namestitvi.
Ko poskušate odpreti skrbniško stran za prijavo
Sporočilo o napaki: "Nobena vhodna datoteka ni podana" po namestitvi
ali
Kateri koli URL vam omogoča, da končate na strani s seznamom anket
Med postopkom namestitve poskuša LimeSurvey določiti najboljšo rešitev za URL-format. Včasih to ne deluje pravilno.
LimeSurvey morate prisiliti, da uporablja drug sistem za upravljanje URL-jev, tako da uredite svojo konfiguracijsko datoteko.
V /application/config/config.php zamenjajte
'urlFormat' => 'pot',
s tem:
'urlFormat' => 'dobi',
Nato poskusite odpreti skrbniško ploščo s kratkim skrbniškim URL-jem:
http://<yourserver.net> /<limesurvey_dir> /admin
Po prijavi v administracijo
Vsako dejanje na skrbniški strani vas bo vrnilo na prijavni zaslon
To se lahko zgodi zaradi naslednjih glavnih razlogov:
- Težave s sejami PHP
- Težave s kodiranjem UTF8
- Težave IE
Seje PHP :
- Posodobite upload_tmp_dir in session.save_path v php.ini
- Ustvarite konfigurirano sejo in imenike za nalaganje
- IIS: Dodeljeno dovoljenje za ustvarjanje in spreminjanje uporabniškega računa gosta IIS
- Apache : Prepričajte se, da ima vaš spletni strežnik dovoljenja za pisanje v konfigurirani imenik
- Preverite, ali je spremenljivka "session.use_cookies" v php.ini nastavljena na 1.
- Preverite spremenljivko "session.auto_start" v php. ini. Če je nastavljeno na 1, ga spremenite na 0.
Internet Explorer težave LimeSurvey ne podpira več dostopa do skrbniškega vmesnika preko Internet Explorerja.
Kodiranje UTF8:
Če urejate katero koli datoteko (najverjetneje config.php), je ne shranite kot UTF8, da bi podpirali posebne jezikovne znake! Datoteke .php vedno shranjujte v pravem formatu ANSI/ISO.
Oddaja strani, ki vsebuje veliko število vprašanj/možnosti odgovorov/podvprašanj, ne deluje
V PHP 5.3.9 je bila predstavljena nova nastavitev (in bila celo prenesena v nekatere starejše različice PHP): max_input_vars. Ta nastavitev omejuje največje število spremenljivk, ki jih je mogoče POST (predložiti) strežniku. Privzeto je nastavljeno na 1000, vendar če imate vprašanje z veliko možnostmi odgovorov ali anketno stran z veliko in veliko vprašanji/odgovori ta meja je lahko presežena. To boste morali nastaviti v konfiguracijski datoteki PHP (php.ini).
Datumi niso pravilno prikazani z uporabo strežnika MSSQL s FreeTDS v sistemu Linux
Poiščite datoteko locales.conf FreeTDS in jo uredite. Če nimate nobene druge aplikacije, ki uporablja FreeTDS, zamenjajte vsebino z
[privzeto]
oblika datuma = %Y-% m- %d %H:% M: %S.% z
Če imate druge aplikacije, ki uporabljajo FreeTDS, boste morda želeli najprej preveriti, katere lokalne nastavitve morate urediti.
Shranite in znova zaženite strežnik. Datumi bi morali biti zdaj pravilno prikazani. Če to ne deluje, ste morda uredili napačno datoteko - sperite in ponovite.
Ko v svojo anketo ali administracijo vnašam posebne znake (kitajščino, cirilico, grščino, arabščino), je vsak znak prikazan kot vprašaj?
To se zgodi, če sama baza podatkov ni ustvarjena za uporabo nabora znakov UTF-8. To se lahko zgodi, ko morate bazo podatkov ustvariti s skrbniško ploščo ponudnika. To težavo lahko odpravite tako, da v svoji bazi podatkov izvedete naslednji ukaz SQL (z uporabo na primer phpMyAdmin) ALTER DATABASE `<your_database_name> ` PRIVZETI NABOR ZNAKOV utf8 COLLATE utf8_unicode_ci;
Zamenjati<your_database_name> z imenom vaše baze podatkov. To morate storiti pred namestitvijo LimeSurvey.
PageSpeed povzroča nekaj težav Limesurvey
V virtualnem gostitelju LimeSurvey morate vključiti ModPagespeed off.
V nasprotnem primeru ne boste mogli uporabljati ConfortUpdate, niti izvoziti podatkov. Verjetno bo še kaj zatajilo.
Med izpolnjevanjem ankete
Napaka "Seja je potekla"
Morda boste na neki točki prejeli sporočilo, kot je:
NAPAKA
Oprostite, vendar je vaša seja potekla.
Ali ste bili predolgo neaktivni, imate onemogočene piškotke v brskalniku ali pa je prišlo do težav z vašo povezavo.
Če je Suhosin aktiviran na vašem strežniku, je to morda razlog, da to dobite sredi ankete.
Suhosin je napreden sistem zaščite za namestitve PHP, vendar lahko privzeta konfiguracija Suhosin povzroči težave z LimeSurvey.
Najprej preverite in preizkusite uporabo dnevnika Suhosin tako, da nastavite suhosin.log.sapi = 511 in suhosin.simulation = on v skladu z dokumentacijo Suhosin.
Konfiguracijska datoteka se običajno nahaja v /etc/php5/apache2/conf.d/suhosin.ini, vendar se lahko prepričate, da preverite svojo phpinfo (Administracija LimeSurvey > Globalne nastavitve > Gumb Prikaži phpinfo > Vrstica: "Razčlenjene dodatne datoteke .ini «), da dobite pravo pot.
Ne pozabite znova zagnati strežnika Apache/Nginx, da se upoštevajo parametri (ponovni zagon storitve apache2 ali ponovni zagon storitve nginx).
Ko je simulacija vklopljena, Suhosin ničesar ne blokira in napake so sporočene v dnevnike (običajno v vaš sistemski dnevnik: /var/log/syslog). Če prejmete sporočilo o napaki, kot je »ALERT-SIMULATION – konfigurirana meja spremenljivke POST presežena«, to je Suhosin opozorilo ...«, poskusite naslednjo konfiguracijo (za katero se zdi, da dobro deluje 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
S temi parametri bi morali imeti možnost preklopiti suhosin.simulation nazaj na vrednost "off" (tako da je strežnik zaščiten in LimeSurvey še vedno deluje).
Privzete vrednosti Suhosin ne delujejo dobro z LimeSurvey. Če res želite trdno zaščititi svoj strežnik, boste morda želeli uporabiti način simulacije, da prilagodite nastavitev in poiščete dobre vrednosti med 1000 in 5000 za spremenljivke ter 1000000 in 5000000 za value_lengths.
Ne morem spremeniti jezika!
Ne glede na to, kateri jezik izberete, sta vmesnik (skrbnik in uporabnik) vedno prikazana v angleškem jeziku. Običajno je to posledica napake v vaši različici PHP. Za to ni druge rešitve kot posodobitev vaše različice PHP.
Nekaj pogostih napak (osredotočeno na IIS)
Index.php se ne odpre
Možen vzrok: To se lahko zgodi, če niste namestili potrebnih razširitev
- Namestiti morate večbajtni niz in razširitve MSSQL (ali MySQL).
Možen vzrok: filter ISAPI ni konfiguriran
- V IIS morate za spletno mesto (to lahko storite na ravni imenika) konfigurirati za uporabo php5isapi.dll
Index.php se ne odpre in "php.exe -i" daje sporočila o napakah o manjkajočih datotekah .dll
To se lahko zgodi, če namestite preveč razširitev
- Če namestite vse razširitve PHP, PHP ne bo uspel, ker niso bile izpolnjene vse odvisnosti (npr. paket oracle potrebuje oracle dll)
- Namestite samo razširitve, ki jih potrebujete! N!* Za preizkus poskusite zagnati php.exe -i iz ukazne vrstice
To se lahko zgodi, če se pomaknete na napačen url:
- Poskrbite, da greste na limesurvey/admin/install/index.php namesto na limesurvey/index.php!
Zgornji popravki ne rešijo težave
To se lahko zgodi, če niste znova zagnali IIS
- Ponovno zaženite IIS
Stvari, ki jih je enostavno pozabiti:
- .php mora biti povezan za filtriranje php5isapi.dll
- imenik limesurvey/tmp potrebuje dovoljenje za pisanje za nalaganje anket
- posodabljanje doc_root v php.ini in $rootdir v config.php
Manjkajoče datoteke ("Ni takšne datoteke ali imenika")
Pri nalaganju LimeSurvey na vaš strežnik se lahko zgodi, da se povezava prekine, tako da se nekatere datoteke ne prenesejo ali pa se ne prenesejo v celoti. Odvisno od datotek lahko dobite različna sporočila o napakah, ko dostopate do različnih funkcij/delov LimeSurvey. Napake zaradi manjkajočih datotek so videti takole:
"Opozorilo: require_once(/path/to/your/limesurvey/installation/filename) [function.require-once]: ni uspelo odpreti toka: ni take datoteke ali imenika v /path/to/your/limesurvey/installation/filename on vrstica 12345" ALI
»Usodna napaka: require_once() [function.require]: Neuspelo odpiranje zahtevanega 'require_once(/path/to/your/limesurvey/installation/filename)' (include_path='.:/x/y/z) v /path/ na/vaš/limesurvey/namestitev/ime datoteke v vrstici 12345"
Rešitev
1. Izbrišite vse naložene datoteke.
2. Znova naložite datoteke.
(3. Po potrebi: znova namestite tako, da poiščete /limesurveyfolder/admin/install)
Po oddaji strani končate na strani s splošnim indeksom/na strani 404 ali pa prejmete sporočilo 'Žetona CSRF ni bilo mogoče preveriti'
ali
Po kliku 'Naprej' na strani, ki vsebuje veliko število odgovorov/podvprašanj, se vsi odgovori ne shranijo
ali
Po kliku 'Naprej' končam na isti strani
ali
Uporaba sistema za hitro prevajanje ne shrani odgovorov ali podvprašanj
ali
Pri izvozu velikega števila polj odgovorov se ne izvozijo vsa
- To je najverjetneje zaradi omejujoče nastavitve v vašem spletnem strežniku: max_input_vars . Ta nastavitev omejuje največje število spremenljivk, ki jih je mogoče POST (predložiti) strežniku.
Privzeto je nastavljeno na 1000, če pa imate vprašanje z veliko možnostmi odgovorov ali anketno stran z veliko in veliko vprašanji/ odgovorov, je ta omejitev morda presežena. Urediti boste morali svojo konfiguracijo PHP (php.ini).
- Prav tako preverite nastavitve PHP, če vaš gostitelj uporablja Suhosin razširitev za Apache, ki je morda nastavljena kot preveč omejujoča pri nekaj nastavitvah.
- Na primer, obe nastavitvi "suhosin.post.max_vars" in "suhosin.request.max_vars" sta privzeto nastavljeni na vrednost 200. Povečajte obe nastavitvi na 400 ali več, da bodo uporabniki lahko izpolnjevali in pošiljali dolge ankete.
- Če imate še vedno težave, poskusite preklopiti modul na simulation_mode (in ga tako v bistvu deaktivirati), saj je največja vrednost vedno odvisna od vaše ankete.
- Drugi razlog je lahko proxy ali podobna programska oprema, ki ne dovoljuje velikih objav ali večkratnega zahtevanja iste strani v ozadju (kar vodi do ustvarjanja novega ključa CSRF). V tem primeru poskusite z drugo internetno povezavo.
Pri uporabi strežnika MSSQL s FreeTDS v Linuxu niso prikazana nobena vprašanja
Če natančno preverite katero koli skupino vprašanj, je v ustreznosti skupine presledek, zaradi česar je celotna skupina neustrezna. Osnovna težava je, da vaš FreeTDS vrne presledke v prazna polja zaradi napačne konfiguracije. To težavo lahko odpravite tako, da različico protokola FreeTDS prisilite na vsaj 8.0. Torej, uredite freetds.conf (npr. /etc/freetds/freetds.conf) in spremenite ustrezno vrstico v
tds različica = 8.0
To bi moralo odpraviti to težavo.
Po opravljeni anketi
Besedila, ki jih je vnesel udeleženec, so v rezultatih prikazana kot vprašaji
To se zgodi, če vaša baza podatkov sama po privzetku ne uporablja nabora znakov UTF-8. To se lahko zgodi, ko morate bazo podatkov ustvariti s skrbniško ploščo ponudnika. To težavo lahko odpravite tako, da v svoji bazi podatkov izvedete naslednji ukaz SQL (z uporabo na primer phpMyAdmin):
SPREMENI BAZO PODATKOV `<your_database_name> ` PRIVZETI NABOR ZNAKOV utf8 COLLATE utf8_unicode_ci;
Zamenjati<your_database_name> z imenom vaše baze podatkov. Ko to storite, deaktivirajte anketo in jo znova aktivirajte.
Težave, specifične za podatkovno bazo
Želim, da LimeSurvey uporablja določeno shemo Postgres
Nastavi v config.php 'initSQLs' => array('SET search_path TO "LimeSurvey";'), Glej config-defaults za primer.