Actions

Risoluzione dei problemi

From LimeSurvey Manual

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



Template:Nota


Generale

Questa pagina elenca problemi tecnici tipici e le relative soluzioni dopo un'installazione riuscita. Se è necessario risolvere i problemi che si verificano durante l'installazione, fare riferimento alle Domande frequenti sull'installazione.

Quando si tenta di aprire la pagina di accesso dell'amministrazione

Messaggio di errore: "Nessun file di input specificato" dopo l'installazione

o

Qualsiasi URL consente di accedere alla pagina dell'elenco dei sondaggi

Durante il processo di installazione, LimeSurvey cerca di determinare la migliore soluzione per il formato URL. A volte questo non funziona correttamente.

Devi forzare LimeSurvey a utilizzare un altro sistema di gestione degli URL modificando il tuo file di configurazione.

In /application/config/config.php sostituire

  'urlFormat' => 'percorso',			

da questo:

  'urlFormat' => 'ottieni',

Quindi prova ad aprire il pannello di amministrazione utilizzando l'URL di amministrazione breve:

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

Dopo aver effettuato l'accesso all'amministrazione

Qualsiasi azione nella pagina di amministrazione ti riporterà alla schermata di accesso

Ciò può accadere per i seguenti motivi principali:

  • Problemi con le sessioni PHP
  • Problemi con la codifica UTF8
  • Problemi con IE

Sessioni PHP:

  1. Aggiorna upload_tmp_dir e session.save_path in php.ini
  2. Crea la sessione configurata e carica le directory
  3. IIS: Autorizzazione assegnata per creare e modificare l'account utente guest IIS
  4. Apache : Assicurati che il tuo server web abbia i permessi per scrivere nella directory configurata
  5. Controlla se la variabile "session.use_cookies" in php.ini è impostata su 1.
  6. Controlla la variabile "session.auto_start" in php. ini. Se è impostato su 1, cambialo in 0.

Problemi con Internet Explorer LimeSurvey non supporta più l'accesso all'interfaccia di amministrazione tramite Internet Explorer.

Codifica UTF8:

Se modifichi un file (molto probabilmente config.php) non salvarlo come UTF8 per supportare caratteri di lingua speciali! Salva sempre i file .php nel vero formato ANSI/ISO.

L'invio di una pagina che contiene un gran numero di domande/opzioni di risposta/sottodomande non funziona

C'era una nuova impostazione introdotta in PHP 5.3.9 (ed è stata persino riportata in alcune versioni precedenti di PHP): max_input_vars. Questa impostazione limita il numero massimo di variabili che possono essere POST (inviate) al server. L'impostazione predefinita è 1000 ma se hai una domanda con molte opzioni di risposta o una pagina di sondaggio con molte domande/risposte questo limite potrebbe essere superato. Dovrai impostarlo nel tuo file di configurazione PHP (php.ini).

Le date non vengono visualizzate correttamente utilizzando MSSQL Server con FreeTDS su Linux

Individuare il file locales.conf di FreeTDS e modificarlo. Se non hai altre applicazioni che utilizzano FreeTDS, sostituisci semplicemente i contenuti con

[predefinito]
 formato data = %Y-% m- %d %H:% M: %S.% z

Se hai altre applicazioni che utilizzano FreeTDS, potresti voler controllare prima quale locale devi modificare.

Salva e riavvia il server. Ora le date dovrebbero essere visualizzate correttamente. Se questo non funziona, potresti aver modificato il file sbagliato: risciacqua e ripeti.

Quando inserisco caratteri speciali (cinese, cirillico, greco, arabo) nel mio sondaggio o nella mia amministrazione, ogni carattere viene mostrato come un punto interrogativo?

Ciò accade se il database stesso non è stato creato per utilizzare un set di caratteri UTF-8. Questo può accadere quando devi creare il database utilizzando un pannello di amministrazione del provider. Puoi risolvere questo problema eseguendo il seguente comando SQL sul tuo database (utilizzando ad esempio phpMyAdmin) ALTER DATABASE `<your_database_name> ` SET DI CARATTERI DI DEFAULT utf8 COLLATE utf8_unicode_ci;

Sostituire<your_database_name> con il nome del tuo database. Devi farlo prima di installare LimeSurvey.

PageSpeed crea qualche problema a Limesurvey

Dovresti includere ModPagespeed off nel tuo host virtuale LimeSurvey.

In caso contrario, non potrai utilizzare ConfortUpdate, né esportare i dati. Probabilmente qualcos'altro sta per fallire.

Durante la partecipazione a un sondaggio

Errore "La sessione è scaduta"

Ad un certo punto potresti ricevere un messaggio del tipo:

ERRORE

Siamo spiacenti ma la tua sessione è scaduta.

O sei stato inattivo per troppo tempo, hai disabilitato i cookie per il tuo browser o ci sono stati problemi con la tua connessione.

Se Suhosin è attivato sul tuo server, potrebbe essere il motivo per cui lo ottieni nel bel mezzo di un sondaggio.

Template:Nota

Suhosin è un sistema di protezione avanzato per le installazioni PHP ma la configurazione predefinita di Suhosin può creare problemi con LimeSurvey.

Per prima cosa, controlla e prova usando il log di Suhosin impostando suhosin.log.sapi = 511 e suhosin.simulation = on secondo la documentazione di Suhosin.

Il file di configurazione si trova solitamente in /etc/php5/apache2/conf.d/suhosin.ini, ma per essere sicuri puoi controllare il tuo phpinfo (amministrazione di LimeSurvey > Impostazioni globali > Pulsante Mostra phpinfo > Riga: "File .ini aggiuntivi analizzati ") per ottenere il percorso corretto.

Non dimenticare di riavviare il tuo server Apache/Nginx affinché i parametri vengano presi in considerazione (riavvio del servizio apache2 o riavvio del servizio nginx).

Quando la simulazione è attiva, Suhosin non blocca nulla e gli errori vengono riportati nei log (di solito nel log di sistema: /var/log/syslog). Se ricevi un messaggio di errore come "ALERT-SIMULATION - limite variabile POST configurato superato" è l'avviso di Suhosin...", prova la seguente configurazione (che sembra funzionare bene con 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

Con questi parametri, dovresti essere in grado di riportare suhosin.simulation al valore "off" (in modo che il server sia protetto e LimeSurvey funzioni ancora).

I valori predefiniti di Suhosin non funzionano bene con LimeSurvey. Se vuoi davvero proteggere strettamente il tuo server, potresti voler utilizzare la modalità di simulazione per ottimizzare l'impostazione e trovare i valori buoni tra 1000 e 5000 per vars e 1000000 e 5000000 per value_lengths.

Nota: recentemente è stata introdotta un'impostazione PHP aggiuntiva che deve essere modificata: max_input_vars - questa impostazione è la stessa di suhosin.post.max_vars ma deve essere impostata separatamente in php.ini.

Non posso cambiare la lingua!

Indipendentemente dalla lingua scelta, l'interfaccia (amministratore e utente) viene sempre visualizzata in lingua inglese. Normalmente, questo è causato da un bug nella tua versione di PHP. Non c'è altra soluzione per questo se non l'aggiornamento della versione di PHP.

Alcuni errori comuni (focalizzati su IIS)

Index.php non si apre

Possibile causa: questo potrebbe accadere se non hai installato le estensioni necessarie

  • Devi installare una stringa multi-byte e le estensioni MSSQL (o MySQL)


Possibile causa: filtro ISAPI non configurato

  • In IIS, per il sito Web (potresti farlo a livello di directory) devi configurarlo per utilizzare php5isapi.dll


Index.php non si apre e "php.exe -i" fornisce messaggi di errore relativi a .dll mancanti

Questo può accadere se installi troppe estensioni

  • Se installi tutte le estensioni PHP, PHP fallirà perché non tutte le dipendenze sono state soddisfatte (ad esempio, il pacchetto oracle ha bisogno di Oracle dll)
  • Installa solo le estensioni che ti servono! N!* Per testare, prova a eseguire php.exe -i dalla riga di comando

Messaggio che indica che il database era mancante

Questo può accadere se navighi verso un URL sbagliato:

  • Assicurati di andare su limesurvey/admin/install/index.php invece che su limesurvey/index.php !

Le correzioni di cui sopra non risolvono il problema

Questo può accadere se non hai riavviato IIS

  • Riavvia IIS

Cose che sono facili da dimenticare:

  • .php deve essere associato al filtro php5isapi.dll
  • La directory limesurvey/tmp richiede il permesso di scrittura per il caricamento dei sondaggi
  • aggiornamento di doc_root in php.ini e $rootdir in config.php

File mancanti ("Nessun file o directory simile")

Durante il caricamento di LimeSurvey sul tuo server potrebbe accadere che la connessione venga interrotta in modo che alcuni file non vengano trasferiti o non vengano trasferiti completamente. A seconda dei file, puoi ricevere diversi messaggi di errore ogni volta che accedi a funzioni/parti diverse di LimeSurvey. I file mancanti generano errori simili a questi:

"Avviso: require_once(/path/to/your/limesurvey/installation/filename) [function.require-once]: impossibile aprire il flusso: nessun file o directory in /path/to/your/limesurvey/installation/filename on linea 12345" OR

"Errore irreversibile: require_once() [function.require]: apertura non riuscita richiesta 'require_once(/path/to/your/limesurvey/installation/filename)' (include_path='.:/x/y/z) in /path/ to/vostro/limesurvey/installazione/nomefile sulla riga 12345"

Soluzione

1. Elimina tutti i file caricati.

2. Ricaricare i file.

(3. Se necessario: reinstallare accedendo a /limesurveyfolder/admin/install)

Dopo aver inviato una pagina, finisci sulla pagina dell'indice generale/su una pagina 404 o ricevi il messaggio 'Impossibile verificare il token CSRF'

oppure

Dopo aver fatto clic su "Avanti" in una pagina che contiene un gran numero di risposte/sottodomande, non tutte le risposte vengono salvate

o

Dopo aver fatto clic su "Avanti", finisco sulla stessa pagina

o

L'utilizzo del sistema di traduzione rapida non salva le risposte o le sottodomande

o

Quando si esporta un gran numero di campi di risposta, non tutti vengono esportati

  • Questo è molto probabilmente dovuto a un'impostazione limitante nel tuo server web: max_input_vars . Questa impostazione limita il numero massimo di variabili che possono essere POST (inviate) al server.

L'impostazione predefinita è 1000, ma se hai una domanda con molte opzioni di risposta o una pagina di sondaggio con molte, molte domande/ risposte, questo limite potrebbe essere superato. Dovrai modificare la tua configurazione PHP (php.ini).

  • Inoltre, controlla le tue impostazioni PHP se il tuo host sta usando l'estensione Suhosin per Apache che potrebbe essere troppo limitante su un paio di impostazioni.
  • Ad esempio, le due impostazioni "suhosin.post.max_vars" e "suhosin.request.max_vars" sono entrambe impostate su un valore di 200 per impostazione predefinita. Aumenta queste impostazioni a 400 o superiore in modo che gli utenti possano completare e inviare lunghi sondaggi.
  • Se hai ancora problemi, prova a cambiare il modulo in simulation_mode (e quindi sostanzialmente a disattivarlo), poiché il valore massimo dipende sempre dal tuo particolare sondaggio.
  • Un altro motivo potrebbe essere un proxy o un software simile che non consente richieste di post di grandi dimensioni o che richiede la stessa pagina più volte in background (il che porta alla creazione di una nuova chiave CSRF). In questo caso, prova una connessione Internet diversa.

Nessuna domanda viene mostrata quando si utilizza MSSQL Server con FreeTDS su Linux

Se controlli attentamente qualsiasi gruppo di domande c'è uno spazio nella pertinenza del gruppo che rende l'intero gruppo non rilevante. Il problema di fondo è che il tuo FreeTDS restituisce spazi sui campi vuoti a causa di una configurazione errata. Puoi risolvere questo problema forzando la versione del protocollo FreeTDS ad almeno 8.0.

Quindi, modifica freetds.conf (ad es. /etc/freetds/freetds.conf) e cambia la rispettiva riga in 
    versione tds = 8.0

Questo dovrebbe risolvere questo problema.

Dopo aver partecipato al sondaggio

I testi che sono stati inseriti dal partecipante appaiono come punti interrogativi nei risultati

Questo accade se il tuo database stesso non utilizza per impostazione predefinita un set di caratteri UTF-8. Questo può accadere quando devi creare il database utilizzando un pannello di amministrazione del provider. Puoi risolvere questo problema eseguendo il seguente comando SQL sul tuo database (utilizzando ad esempio phpMyAdmin):

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

Sostituire<your_database_name> con il nome del tuo database. Dopo averlo fatto, disattiva il sondaggio e riattivalo.

Problemi specifici del database

Voglio che LimeSurvey utilizzi uno schema Postgres specifico

Set in config.php 'initSQLs' => array('SET search_path TO "LimeSurvey";'), Vedi config-defaults per un esempio.