Actions

Problemen oplossen

From LimeSurvey Manual

Revision as of 20:07, 4 June 2013 by Han (talk | contribs) (Created page with "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...")

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 :

IE (6,7 and 8) does not support underscore "_" in the server hostname. If it is the case, the cookies are not managed and cookie(s) is(are) not set. So change the server hostname under apache or IIS.

While taking a survey

Error "Session has expired"

You might, at one point, get a message like :

ERROR

We are sorry but your session has expired.

Either you have been inactive for too long, you have cookies disabled for your browser, or there were problems with your connection.

And if you have Suhosin activated on your server, that's might be the reason why you get this in the middle of a survey.

Note: When your survey is not active, the behavior might be different and you could be redirected in the middle of a survey to the public list of surveys. The solution is the same.

Suhosin is an advanced protection system for PHP installations but the Suhosin default configuration can create troubles with LimeSurvey.

First check and test using the Suhosin log, by setting suhosin.log.sapi = 511 and suhosin.simulation = on according to the Suhosin documentation.

The configuration file is usually located in /etc/php5/apache2/conf.d/suhosin.ini but to be sure you can check your phpinfo (Limesurvey administration > Global Settings > Button Show phpinfo > Line : "Additional .ini files parsed") to get the correct path.

Don't forget to restart your Apache server for the parameters to be taken into account (service apache2 restart).

When the simulation is on, Suhosin is not blocking anything and the errors are reported into the logs (usually in your system log: /var/log/syslog). If you appear to get error messages such as "ALERT-SIMULATION - configured POST variable limit exceeded" that's Suhosin alerting...

This configuration seems to work well with 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

With those parameters, you should be able to switch the suhosin.simulation back to "off" value (so that the server is protected and LimeSurvey still works).

The default values of Suhosin are not working well with limesurvey. If you really want to secure your serveur tightly you might want to use the simulation mode to tune the setting and find the good values between 1000 and 5000 for the vars and 1000000 and 5000000 for the value_lengths.

Note: There was an additional PHP setting introduced recently which needs to be tweaked, too: max_input_vars - this setting is the same as suhosin.post.max_vars but needs to be set separately in php.ini.

I can't change the language!

No matter what language you choose, the interface (admin und user) always is in English language. Normally this is caused by a bug in your PHP version. There is no other fix for this than updating your PHP version.

Some common errors (IIS focused)

Index.php won't open

Possible cause: This might happen if you haven't installed necessary extensions

  • You need to install Multi-byte string, and MSSQL (or MySQL) extensions

Possible cause: ISAPI filter not configured

  • In IIS, for the website (you could do it at the directory level) you must configure it to use php5isapi.dll

Index.php won't open and "php.exe -i" gives error messages about missing .dll's

This may happen if you install too many extensions

  • If you install all PHP extensions, PHP will fail because not all dependencies were met (e.g. oracle package needs oracle dll's)
  • Install only the extensions that you need
  • To test, try running php.exe -i from the command line

Message stating database was missing

This may happen if you navigate to wrong url

  • Make sure you go to limesurvey/admin/install/index.php instead of limesurvey/index.php !

Above fixes do not solve the problem

This may happen if you have not restarted IIS

  • Restart IIS

Things that were easy to forget:

  • .php needs to be associated to php5isapi.dll filter (It did this for me automagically)
  • limesurvey/tmp directory needs writer permission for survey uploads
  • updating doc_root in php.ini and $rootdir in config.php

Missing files ("No such file or directory")

When uploading LimeSurvey to your server it might happen that the connection is interrupted so that some files are not transferred or not transferred completely. Depending on the files you can receive error message at different part of LimeSurvey usage. Normally missing files throw errors like

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

"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. Delete all uploaded files.

2. Re-upload the files.

(3. If necessary: Re-install by browsing to /limesurveyfolder/admin/install)

After submitting a page you end up at the general index page

There was an additional PHP setting introduced recently: max_input_vars . This setting limits the maximum number of variables that can be POSTed (submitted) to the server. Default is set to 1000 but if you have a question with lots of answer options or a survey page with lots and lots of questions/answers this limit might be exceeded. You will need to set this in your PHP configration (php.ini).