Actions

Problemen oplossen

From LimeSurvey Manual

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

Other languages:
Deutsch • ‎English • ‎Nederlands

Contents

Algemeen

Op deze pagina worden de technische problemen en de oplossingen behandeld na een gelukte installatie. Als je problemen wilt oplossen die tijdens de installatie kunnen voorkomen, lees dan Installatie FAQ.

Inloggen op administratie-gedeelte mislukt

Foutbericht: "No input file specified" na installatie

Bij elke URL komt je uit op de enquête-lijstpagina

Bij de installatie probeert LimeSurvey het beste URL-formaat te bepalen. Soms werkt dit niet goed.

Je moet in LimeSurvey aangeven dat er een ander URL manager system gebruikt moet worden door je config bestand te wijzigen.

Vervang in /application/config/config.php

     'urlFormat' => 'path',			


door:

     'urlFormat' => 'get',

Probeer daarna het beheer te openen met de URL:

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

Na inloggen als beheerder

Bij elke actie krijg je het inlogscherm

Hierbij zijn de meest voorkomende oorzaken:

  • PHP sessie problemen
  • UTF8 encoding problemen
  • IE (6,7 en 8) problemen

PHP Sessie :

  1. Wijzig upload_tmp_dir en session.save_path in php.ini
  2. Maak de configureerde session en upload mappen aan
  3. IIS: Rechten toegekend om IIS guest user account aan te maken en te wijzigen
  4. Apache: Controleer of je webserver schrijfrechten heeft in de configureerde map
  5. Controleer of de variabele "session.use_cookies" in php.ini op 1 staat.
  6. Controleer de variabele "session.auto_start" in php.ini. Als de waarde 1 is, wijzig dit dan in 0.

UTF8 Encoding :

Als je een bestand wijzigt (zeker config.php), sla het dan niet op als UTF8 om speciale tekens te bewaren. Sla een php-bestand altijd op in true ANSI/ISO formaat. Vanaf versie 1.87 kun je de belangrijkste instellingen wijzigen met de applicatie in het onderdeel 'Instellingen' (bijv. naam website, de beheerder, ...).

IE Cookies :

In IE (6,7 en 8) kan geen underscore "_" in de server hostname gebruikt worden. In dat geval kunnen er geen cookies aangemaakt worden. Wijzig in dat geval de server hostname in Apache / IIS.

Na verzenden van een pagina met veel invoervelden worden ze niet verwerkt

In PHP 5.3.9 (toen ook toegevoegd aan eerdere versies) in een instelling toegevoegd: max_input_vars. Deze instelling beperkt het aantal variabelen dat kan worden verzonden (POST) naar de server. Het standaard aantal van 1000 kan worden overschreden als je veel vragen/antwoorden hebt op een pagina. Je kunt dit aanpassen in je PHP instelling (php.ini).

Datum worden niet goed weergegeven bij gebruik van MSSQL Server met FreeTDS op Linux

Zoek het bestand locales.conf van FreeTDS op en wijzig het. Als je geen andere applicaties hebt die FreeTDS gebruiken, vervang dan de inhoud door

[default]
    date format = %Y-%m-%d %H:%M:%S.%z

Als je wel andere applicaties hebt die FreeTDS gebruiken, bepaal dan eerst welke "locale" je moet wijzigen.

Sla het bestand op en herstart de server. De datums zouden nu goed moeten worden getoond, anders heb je mogelijk het verkeerde bestand gewijzigd.

Een speciaal teken (Chinees, Cyrillisch, Grieks, Arabisch) wordt bij het invoeren als een vraagteken getoond

Waarschijnlijk is de database niet met een UTF-8 charset aangemaakt. Je kunt dit aanpassen door het volgende SQL commando op je database uit te voeren (bijv. in phpMyAdmin): ALTER DATABASE `<database_naam>` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Vervang <database_naam> met de naam van de database.

Moeilijkheden met PageSpeed in Limesurvey

Voeg in je virtualhost van LimeSurvey toe: ModPagespeed off

Anders kun je problemen krijgen bij het gebruiken van ComfortUpdate of het exporteren van gegevens. Er kunnen ook andere fouten optreden.

Tijdens invullen van een enquête

Foutmelding "Session has expired"

Je kunt een melding als volgt krijgen:

ERROR

We are sorry but your session has expired.

Of je hebt te lang gewacht met iets te doen, of je hebt cookies in je browser uitgeschakeld, of je hebt verbindingsproblemen.

Als je Suhosin gebruikt op je server, dan kan dat ook een oorzaak zijn van deze storing.

NB: Als je enquête niet actief is, dan kan de werking anders zijn en kun je tijdens het invullen opeens de lijst met enquêtes te zien krijgen. De oplossing is hetzelfde.

Suhosin is een geavanceerd systeem ter bescherming van PHP installaties maar de Suhosin standaard configuratie kan problemen opleveren voor LimeSurvey.

Test eerst met de Suhosin log, door suhosin.log.sapi = 511 en suhosin.simulation = on te zetten, dit volgens de Suhosin documentatie.

Het configuratie-bestand staat meestal in /etc/php5/apache2/conf.d/suhosin.ini maar je kunt dit in je phpinfo controleren (dit kan ook via LimeSurvey > Instellingen > knop Toon PHPInfo > Regel : "Additional .ini files parsed") om het pad te vinden.

Vergeet niet om je Apache server opnieuw te starten.

Bij simulatie zal Suhosin niets tegenhouden en worden fouten in de log geschreven (meestal in je systeemlog: /var/log/syslog). Als je foutmeldingen krijgt als "ALERT-SIMULATION - configured POST variable limit exceeded" dan is dat een melding van Suhosin.

Deze configuratie zou met LimeSurvey moeten werken:

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

Met deze parameters kun je de suhosin.simulation weer op "off" zetten (dan is de server weer beschermd en werkt LimeSurvey nog steeds).

De standaardwaarden van Suhosin werken niet goed voor LimeSurvey. Als je echt je server streng wilt beschermen dan kun je de simulation mode gebruiken om de instellingen uit te proberen en de ideale waarde tussen 1000 en 5000 voor het aantal variabelen (vars) en tussen 1000000 en 5000000 voor de lengte van de waarden (value_lengths) te vinden.

NB: Er is in PHP 5.3.9 een PHP instelling toegevoegd, die ook ingesteld moet worden: max_input_vars in php.ini (dit is hetzelfde als suhosin.post.max_vars)

Wijzigen taal mislukt

Als de taal altijd Engels is, wat je ook kiest, dan wordt dat meestal veroorzaakt door een bug in je PHP versie. Je kunt dit alleen oplossen door je PHP versie te upgraden.

Voorkomende fouten bij gebruik IIS

Index.php kan niet geopend worden

Mogelijke oorzaak: Zijn wel de noodzakelijke extensies geïnstalleerd

  • Nodig zijn Multi-byte string, en MSSQL (of MySQL) extensies

Mogelijke oorzaak: ISAPI filter niet geconfigureerd

  • In IIS, voor de website (je kunt dit doen op het niveau van de map) je moet instellen dat php5isapi.dll gebruikt wordt.

Index.php kan niet geopend worden en "php.exe -i" geeft foutmeldingen over ontbrekende dll's

Dit kan betekenen dat je teveel extensies geïnstalleerd hebt

  • Als je alle PHP extensie gebruikt, zal PHP stuk lopen omdat niet aan alle afhankelijkheden voldaan kan worden (bijv. oracle package heeft oracle dll's nodig)
  • Installeer alleen de extensies die je nodig hebt.
  • Om te testen, voer op de commandoregel uit: php.exe -i

Bericht dat de database ontbreekt

Dit kan optreden als je een verkeerde URL gebruikt

  • Ga naar limesurvey/admin/install/index.php in plaats van limesurvey/index.php !

Bovengenoemde oplossingen werken niet

Dit kan gebeuren als je IIS niet opnieuw gestart hebt.

Wat je gemakkelijk vergeet:

  • .php moet gekoppeld worden aan het filter php5isapi.dll
  • de map limesurvey/tmp moet schrijfrechten hebben voor uploads van enquêtes
  • wijzigen doc_root in php.ini en $rootdir in config.php

Ontbrekende bestanden ("No such file or directory")

Tijdens het uploaden van LimeSurvey naar je server kan het gebeuren dat de verbinding onderbroken zodat sommige bestanden niet of maar gedeeltelijk overgezet zijn. Afhankelijk van het bestand kun je verschillende foutmeldingen van verschillende onderdelen van LimeSurvey krijgen. Meestal is de melding iets als

"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" OF

"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"

Oplossing

1. Verwijder alle geüploade bestanden.

2. Upload de bestanden opnieuw.

(3. Indien nodig: Herinstalleer door te gaan naar /limesurveyfolder/admin/install)

Na een pagina verstuurd te hebben, wordt de index of een 404-pagina getoond of je krijgt de melding 'The CSRF token could not be verified'

of

Niet alle invoer wordt opgeslagen als ik veel antwoorden / subvragen wil opslaan

of

Bij het opslaan blijf ik op dezelfde pagina staan

of

Bij het gebruik van de snelle vertaling worden de antwoorden of subvragen niet opgeslagen

of

Bij het exporteren van veel responsvelden wordt niet alles geëxporteerd

In PHP 5.3.9 is een instelling toegevoegd: max_input_vars. Deze instelling max_input_vars beperkt het aantal variabelen dat kan worden verzonden (POST) naar de server. Het standaardaantal van 1000 kan worden overschreden als je veel vragen/antwoorden hebt op een pagina. Je kunt dit aanpassen in je PHP instelling (php.ini).

Controleer ook je PHP instellingen als je host gebruik maakt van de Suhosin extensie voor Apache deze kan wat te streng zijn ingesteld.

Bij voorbeeld de twee instellingen "suhosin.post.max_vars" en "suhosin.request.max_vars" staan standaard op de waarde 200. Wijzig dit voor beide in minimaal 400. Hierdoor zijn langere enquêtes mogelijk.

Als je nog steeds problemen hebt, kun je proberen de module op simulation_mode te zetten (eigenlijk zet je het dan uit), omdat het maximum aantal afhankelijk is van je eigen enquête.

Het kan ook zijn dat de proxy of vergelijkbare software niet toestaat dat er omvangrijke "post requests" worden gedaan of dat er in de achtergrond meerdere malen dezelfde pagina wordt gebruikt (dat betekent dat er een CSRF-key wordt aangemaakt). Probeer dan een andere internetverbinding te gebruiken.

Er worden geen vragen getoond bij gebruik van MSSQL Server met FreeTDS op Linux

Als je zorgvuldig een vragengroep selecteert dan is er een spatie in de relevantie van de groep waardoor de hele groep niet relevant is. Het probleem is dat je FreeTDS spaties teruggeeft voor lege velden door een fout in de configuratie. Je kunt dit oplossen door minimaal FreeTDS protocol versie 8.0 te gebruiken. Dus wijzig het bestand freetds.conf (de map is iets als: /etc/freetds/freetds.conf) en wijzig de betreffende regel naar

    tds versie = 8.0

Dat moet het probleem verhelpen.

Na het invullen van de enquête

Door deelnemers ingevulde teksten worden in het resultaat als vraagtekens getoond

Dit gebeurt als je database niet standaard een UTF-8 karakterset gebruikt. Je kunt dit probleem oplossen door het volgende SQL commando uit te voeren (met bijvoorbeeld phpMyAdmin)

   ALTER DATABASE `<je_database_naam>` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Vervang <je_database_naam> door de naam van je database. Deactiveer daarna je enquête en activeer de enquête daarna opnieuw.