Actions

Troubleshooting/nl: Difference between revisions

From LimeSurvey Manual

(Updating to match new version of source page)
No edit summary
Line 155: Line 155:
(3. Indien nodig: Herinstalleer door te gaan naar /limesurveyfolder/admin/install)
(3. Indien nodig: Herinstalleer door te gaan naar /limesurveyfolder/admin/install)


==After submitting a page you end up at the general index page/at a 404 page or you get the message 'The CSRF token could not be verified' ==
==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'==
or
of
==After trying to save a big number of answers/subquestions not all responses are saved ==
==Na het proberen een groot aantal antwoorden/subvragen op te slaan niet alle responses worden opgeslagen==
or
of
==When exporting a big number of response fields not all are exported==
==Bij het exporteren van veel velden niet alle velden worden geëxporteerd==


In PHP 5.3.9 in een instelling toegevoegd: max_input_vars. Deze instelling beperkt het aantal variabelen dat kan worden verzonden (POST) naar de server.  
In PHP 5.3.9 in een instelling toegevoegd: max_input_vars. Deze instelling beperkt het aantal variabelen dat kan worden verzonden (POST) naar de server.  

Revision as of 21:29, 5 April 2014

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 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',

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.con van FreeTDS op en wijzig het. Als je geen andere applicaties hebt die FreeTDS gebruiken, vervang 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.

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

Na het proberen een groot aantal antwoorden/subvragen op te slaan niet alle responses worden opgeslagen

of

Bij het exporteren van veel velden niet alle velden worden geëxporteerd

In PHP 5.3.9 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).

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.

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 7.0 te gebruiken. Lees http://www.php.net/manual/de/ref.pdo-dblib.connection.php#112146

After taking the survey

Texts that were entered by the participant appear as question marks in the results

This happens if your database itself does not by default use an UTF-8 charset. This can happen when you have to create the database using a provider administration panel. You can fix this problem by executing the following SQL command on your database (using for example phpMyAdmin)

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

Replace <your_database_name> with the name of your database. After you did that deactivate your survey and activate it, again.