Actions

Solución de problemas

From LimeSurvey Manual

Revision as of 15:22, 6 September 2023 by Maren.fritz (talk | contribs) (Created page with "Es posible que en algún momento recibas un mensaje como:")



Template:Nota


General

Esta página enumera problemas técnicos típicos y sus soluciones después de una instalación exitosa. Si necesita solucionar problemas que ocurren durante la instalación, consulte las Preguntas frecuentes sobre la instalación.

Al intentar abrir la página de inicio de sesión de administración

Mensaje de error: "No se especificó ningún archivo de entrada" después de la instalación

o

Cualquier URL le permite terminar en la página de la lista de encuestas

Durante el proceso de instalación, LimeSurvey intenta determinar la mejor solución para el formato de URL. A veces esto no funciona correctamente.

Debe forzar a LimeSurvey a utilizar otro sistema de administración de URL editando su archivo de configuración.

En /application/config/config.php reemplazar

  'urlFormat' => 'ruta',			

por esto:

  'urlFormat' => 'obtener',

Luego intente abrir el panel de administración utilizando la URL corta de administrador:

http://<yourserver.net> /<limesurvey_dir> /administración

Después de iniciar sesión en la administración

Cualquier acción en la página de administración lo regresará a la pantalla de inicio de sesión

Esto puede ocurrir por las siguientes razones principales:

  • Problemas de sesiones PHP
  • Problemas de codificación UTF8
  • Problemas de IE

Sesiones PHP:

  1. Actualizar upload_tmp_dir y session.save_path en php.ini
  2. ¡Crear la sesión configurada y los directorios de carga
  3. IIS: Permiso asignado para crear y modificar la cuenta de usuario invitado de IIS
  4. Apache : ¡Asegúrese de que su servidor web tenga permisos para escribir en el directorio configurado
  5. Compruebe si la variable "session.use_cookies" en php.ini está configurada en 1.
  6. Compruebe la variable "session.auto_start" en php. ini. Si está configurado en 1, cámbielo a 0.

Problemas con Internet Explorer LimeSurvey ya no admite el acceso a la interfaz de administración a través de Internet Explorer.

Codificación UTF8:

Si edita algún archivo (probablemente config.php), no lo guarde como UTF8 para admitir caracteres de idiomas especiales. Guarde siempre los archivos .php en formato ANSI/ISO verdadero.

Enviar una página que contiene una gran cantidad de preguntas/opciones de respuesta/subpreguntas no funciona

Se introdujo una nueva configuración en PHP 5.3.9 (e incluso se actualizó a algunas versiones anteriores de PHP): max_input_vars. Esta configuración limita el número máximo de variables que se pueden PUBLICAR (enviar) al servidor. El valor predeterminado está establecido en 1000, pero si tiene una pregunta con muchas opciones de respuesta o una página de encuesta con muchísimas preguntas/respuestas este límite podría ser superado. Deberá configurar esto en su archivo de configuración PHP (php.ini).

Las fechas no se muestran correctamente usando MSSQL Server con FreeTDS en Linux

Localice el archivo locales.conf de FreeTDS y edítelo. Si no tiene ninguna otra aplicación que utilice FreeTDS, simplemente reemplace el contenido con

[predeterminado]
 formato de fecha = %Y-% m- %d %H:% M: %S.% z

Si tiene otras aplicaciones que utilizan FreeTDS, es posible que desee verificar primero qué configuración regional necesita editar.

Guarde y reinicie el servidor. Las fechas ahora deberían mostrarse correctamente. Si esto no funciona, es posible que haya editado el archivo incorrecto; enjuague y repita.

Cuando ingreso caracteres especiales (chino, cirílico, griego, árabe) en mi encuesta o administración, ¿cada carácter se muestra como un signo de interrogación?

Esto sucede si su base de datos no está creada para utilizar un juego de caracteres UTF-8. Esto puede suceder cuando tienes que crear la base de datos usando un panel de administración de proveedores. Puede solucionar este problema ejecutando el siguiente comando SQL en su base de datos (usando, por ejemplo, phpMyAdmin) ALTER DATABASE `<your_database_name> ` CONJUNTO DE CARACTERES PREDETERMINADO utf8 COLLATE utf8_unicode_ci;

Reemplazar<your_database_name> con el nombre de su base de datos. Necesitas hacer esto antes de instalar LimeSurvey.

PageSpeed crea algunos problemas a Limesurvey

Debes desactivar ModPagespeed en tu servidor virtual LimeSurvey.

De lo contrario no podrá utilizar ComfortUpdate ni exportar datos. Probablemente algo más vaya a fallar.

Mientras realiza una encuesta

Error "La sesión ha caducado"

Es posible que en algún momento recibas un mensaje como:

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.

If Suhosin is activated on your server, it might be the reason why you get this in the middle of a survey.

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/Nginx server for the parameters to be taken into account (service apache2 restart or service nginx 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 get an error messages such as "ALERT-SIMULATION - configured POST variable limit exceeded" that's Suhosin alerting...", try the following configuration (which 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 server 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 and user) are always displayed in the 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 the 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., the oracle package needs oracle dll's)
  • Install only the extensions 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 are easy to forget:

  • .php needs to be associated to filter php5isapi.dll
  • limesurvey/tmp directory needs writing 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 get different error messages whenever you access different features/parts of LimeSurvey. The missing files throw errors look like this:

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

Solution

1. Delete all uploaded files.

2. Re-upload the files.

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

After submitting a page, you end up on the general index page/on a 404 page or you get the message 'The CSRF token could not be verified'

or

After clicking 'Next' on a page which contains a big number of answers/subquestions, not all responses are being saved

or

After clicking 'Next', I end up on the same page

or

Using the quick translation system doesn't save answers or subquestions

or

When exporting a big number of response fields, not all of them are being exported

  • This is most likely because of a limiting setting in your webserver: 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 edit your PHP configuration (php.ini).

  • Also, check your PHP settings if your host is using the Suhosin extension for Apache which may be set to be too limiting on a couple of settings.
  • For example, the two settings "suhosin.post.max_vars" and "suhosin.request.max_vars" are both set to a value of 200 by default. Increase those settings both to 400 or higher so users can complete and submit long surveys.
  • If you still have problems, try switching the module to simulation_mode (and so basically deactivate it), as the maximum value always depends on your particular survey.
  • Another reason might be a proxy or a similar software which does not allow big post requests or requesting the same page several times in the background (which leads to a new CSRF-key being created). Try a different internet connection in this case.

No questions are shown when using MSSQL Server with FreeTDS on Linux

If you check carefully any question group there is a space in the group relevance which makes the entire group non-relevant. The underlying problem is that your FreeTDS returns spaces on empty fields because of a misconfiguration. You can fix this problem by forcing the FreeTDS protocol version to at least 8.0. So, edit freetds.conf (e.g. /etc/freetds/freetds.conf) and change the respective line to

    tds version = 8.0

That should fix this issue.

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.

Database specific issues

I want LimeSurvey to use a specific Postgres schema

Set in config.php 'initSQLs' => array('SET search_path TO "LimeSurvey";'), See config-defaults for an example.