Solução de problemas
From LimeSurvey Manual
Geral
Esta página lista problemas técnicos típicos e suas soluções após uma instalação bem-sucedida. Se você precisar resolver problemas que ocorrem durante a instalação, consulte a FAQ de instalação.
Ao tentar abrir a página de início de sessão da administração
Mensagem de erro: "No input file specified" após a instalação
ou
Qualquer URL leva você à página da lista de questionários
Durante o processo de instalação, o LimeSurvey tenta determinar a melhor solução para o formato da URL. Às vezes isso não funciona corretamente.
Você precisa forçar o LimeSurvey a usar outro sistema de gerenciamento de URL, editando o arquivo de configuração.
Em /application/config/config.php, substitua
'urlFormat' => 'path',
por isto:
'urlFormat' => 'get',
Em seguida, tente abrir o painel de administração usando a URL curta de administração:
http://<yourserver.net>/<limesurvey_dir>/admin
Após iniciar sessão na administração
Qualquer ação na página de administração leva você de volta à tela de início de sessão
Isso pode acontecer pelos seguintes motivos principais:
- Problemas com sessões PHP
- Problemas de codificação UTF8
- Problemas com o IE
Sessões PHP:
- Atualize upload_tmp_dir e session.save_path no php.ini
- Crie os diretórios de sessão e de carregamento configurados
- IIS: Atribua permissão de criação e modificação à conta de usuário convidado do IIS
- Apache: Certifique-se de que o seu servidor web tem permissão para gravar no diretório configurado
- Verifique se a variável "session.use_cookies" no php.ini está definida como 1.
- Verifique a variável "session.auto_start" no php.ini. Se estiver definida como 1, altere para 0.
Problemas com o Internet Explorer O LimeSurvey não oferece mais suporte ao acesso à interface de administração por meio do Internet Explorer.
Codificação UTF8:
Se você editar qualquer arquivo (provavelmente o config.php), não o salve como UTF8 para dar suporte a caracteres especiais de idiomas! Sempre salve os arquivos .php no formato ANSI/ISO verdadeiro.
O envio de uma página que contém um grande número de perguntas/opções de resposta/subperguntas não funciona
Uma nova configuração foi introduzida no PHP 5.3.9 (e foi até portada para algumas versões anteriores do PHP): max_input_vars. Essa configuração limita o número máximo de variáveis que podem ser enviadas via POST ao servidor. O padrão é 1000, mas se você tiver uma pergunta com muitas opções de resposta ou uma página do inquérito com muitíssimas perguntas/respostas, esse limite pode ser excedido. Você precisará ajustar isso no arquivo de configuração do PHP (php.ini).
As datas não são exibidas corretamente ao usar o MSSQL Server com FreeTDS no Linux
Localize o arquivo locales.conf do FreeTDS e edite-o. Se você não tiver outros aplicativos que usem o FreeTDS, basta substituir o conteúdo por
[default]
date format = %Y-%m-%d %H:%M:%S.%z
Se você tiver outros aplicativos que usem o FreeTDS, talvez seja melhor verificar primeiro qual locale você precisa editar.
Salve e reinicie o servidor. As datas agora devem ser exibidas corretamente. Se isso não funcionar, você pode ter editado o arquivo errado - repita o procedimento.
Quando insiro caracteres especiais (chinês, cirílico, grego, árabe) no meu inquérito ou na administração, todos os caracteres aparecem como ponto de interrogação?
Isso acontece se o próprio banco de dados não foi criado para usar o conjunto de caracteres UTF-8. Isso pode ocorrer quando você precisa criar o banco de dados usando o painel de administração de um provedor. Você pode corrigir esse problema executando o seguinte comando SQL no seu banco de dados (usando, por exemplo, o phpMyAdmin) ALTER DATABASE `<your_database_name>` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Substitua <your_database_name> pelo nome do seu banco de dados. Você precisa fazer isso antes de instalar o LimeSurvey.
O PageSpeed causa alguns problemas no LimeSurvey
Você deve incluir ModPagespeed off no virtualhost do seu LimeSurvey.
Caso contrário, você não conseguirá usar o ComfortUpdate nem exportar dados. Provavelmente mais alguma coisa também irá falhar.
Ao responder a um inquérito
Erro "A sessão expirou"
Em algum momento, você pode receber uma mensagem como esta:
ERROR
Infelizmente, sua sessão expirou.
Either you have been inactive for too long, you have cookies disabled for your browser, or there were problems with your connection.
Se o Suhosin estiver ativado no seu servidor, ele pode ser o motivo de você receber essa mensagem no meio de um inquérito.
O Suhosin é um sistema avançado de proteção para instalações do PHP, mas a configuração padrão do Suhosin pode causar problemas com o LimeSurvey.
Primeiro, verifique e teste usando o log do Suhosin, definindo suhosin.log.sapi = 511 e suhosin.simulation = on, conforme a documentação do Suhosin.
O arquivo de configuração geralmente fica em /etc/php5/apache2/conf.d/suhosin.ini, mas, para ter certeza, você pode consultar o phpinfo (administração do LimeSurvey > Definições globais > botão Mostrar PHPInfo > linha: "Additional .ini files parsed") para obter o caminho correto.
Não se esqueça de reiniciar o servidor Apache/Nginx para que os parâmetros sejam considerados (service apache2 restart ou service nginx restart).
Quando a simulação está ativada, o Suhosin não bloqueia nada e os erros são registrados nos logs (geralmente no log do sistema: /var/log/syslog). Se você receber mensagens de erro como "ALERT-SIMULATION - configured POST variable limit exceeded", é o Suhosin alertando... Nesse caso, experimente a seguinte configuração (que parece funcionar bem com o 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
Com esses parâmetros, você deverá conseguir voltar o suhosin.simulation para o valor "off" (assim o servidor fica protegido e o LimeSurvey continua funcionando).
Os valores padrão do Suhosin não funcionam bem com o LimeSurvey. Se você realmente quiser proteger seu servidor de forma rigorosa, use o modo de simulação para ajustar a configuração e encontrar bons valores entre 1000 e 5000 para as variáveis (vars) e entre 1000000 e 5000000 para os comprimentos de valor (value_lengths).
Não consigo mudar o idioma!
Independentemente do idioma que você escolher, a interface (administração e usuário) é sempre exibida em inglês. Normalmente, isso é causado por um bug na sua versão do PHP. Não há outra solução além de atualizar a versão do PHP.
Alguns erros comuns (com foco no IIS)
O Index.php não abre
Causa possível: isso pode acontecer se você não tiver instalado as extensões necessárias
- Você precisa instalar as extensões Multi-byte string e MSSQL (ou MySQL)
Causa possível: filtro ISAPI não configurado
- No IIS, para o site (você pode fazer isso no nível do diretório), é necessário configurá-lo para usar o php5isapi.dll
O Index.php não abre e "php.exe -i" exibe mensagens de erro sobre arquivos .dll ausentes
Isso pode acontecer se você instalar extensões demais
- Se você instalar todas as extensões do PHP, o PHP falhará porque nem todas as dependências foram atendidas (por exemplo, o pacote oracle precisa das dlls do oracle)
- Instale apenas as extensões de que você precisa
- Para testar, tente executar php.exe -i na linha de comando
Mensagem informando que o banco de dados está ausente
Isso pode acontecer se você acessar a URL errada:
- Certifique-se de acessar limesurvey/admin/install/index.php em vez de limesurvey/index.php!
As correções acima não resolvem o problema
Isso pode acontecer se você não reiniciou o IIS
- Reinicie o IIS
Coisas fáceis de esquecer:
- .php precisa estar associado ao filtro php5isapi.dll
- o diretório limesurvey/tmp precisa de permissão de escrita para uploads de inquéritos
- atualizar doc_root no php.ini e $rootdir no config.php
Arquivos ausentes ("No such file or directory")
Ao carregar o LimeSurvey para o seu servidor, a conexão pode ser interrompida, de modo que alguns arquivos não sejam transferidos ou sejam transferidos de forma incompleta. Dependendo dos arquivos, você pode receber diferentes mensagens de erro ao acessar diferentes funcionalidades/partes do LimeSurvey. Os erros causados por arquivos ausentes têm este aspecto:
"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" OU
"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"
Solução
1. Exclua todos os arquivos carregados.
2. Carregue os arquivos novamente.
(3. Se necessário: reinstale acessando /limesurveyfolder/admin/install pelo navegador)
Depois de enviar uma página, você acaba na página de índice geral/em uma página 404 ou recebe a mensagem 'The CSRF token could not be verified'
ou
Depois de clicar em 'Próximo' em uma página que contém um grande número de respostas/subperguntas, nem todas as respostas são salvas
ou
Depois de clicar em 'Próximo', volto para a mesma página
ou
Usar a Tradução rápida não salva respostas ou subperguntas
ou
Ao exportar um grande número de campos de resposta, nem todos são exportados
- Isso provavelmente se deve a uma configuração limitante no seu servidor web: max_input_vars. Essa configuração limita o número máximo de variáveis que podem ser enviadas por POST ao servidor.
O padrão é 1000, mas se você tiver uma pergunta com muitas Opções de resposta ou uma página do inquérito com muitas perguntas/respostas, esse limite pode ser excedido. Você precisará editar a configuração do PHP (php.ini).
- Verifique também as configurações do PHP se o seu provedor de hospedagem usa a extensão Suhosin para Apache, que pode estar configurada de forma muito restritiva em algumas configurações.
- Por exemplo, as duas configurações "suhosin.post.max_vars" e "suhosin.request.max_vars" têm, por padrão, o valor 200. Aumente ambas para 400 ou mais, para que os usuários possam concluir e enviar inquéritos longos.
- Se ainda houver problemas, tente alternar o módulo para simulation_mode (desativando-o, na prática), pois o Valor máximo sempre depende do seu inquérito específico.
- Outro motivo pode ser um proxy ou software semelhante que não permite requisições POST grandes ou a requisição da mesma página várias vezes em segundo plano (o que leva à criação de uma nova chave CSRF). Nesse caso, tente uma conexão de internet diferente.
Nenhuma pergunta é exibida ao usar o MSSQL Server com FreeTDS no Linux
Se você verificar cuidadosamente qualquer Grupo de questões, há um espaço na Relevância grupal, o que torna o grupo inteiro não relevante. O problema subjacente é que o seu FreeTDS retorna espaços em campos vazios devido a uma configuração incorreta. Você pode corrigir esse problema forçando a versão do protocolo FreeTDS para pelo menos 8.0. Portanto, edite o freetds.conf (por exemplo, /etc/freetds/freetds.conf) e altere a linha correspondente para
tds version = 8.0
Isso deve resolver o problema.
Depois de responder ao inquérito
Textos digitados pelo participante aparecem como pontos de interrogação nos resultados
Isso acontece se o seu banco de dados não usar, por padrão, o conjunto de caracteres UTF-8. Isso pode ocorrer quando você precisa criar o banco de dados usando um painel de administração do provedor. Você pode corrigir esse problema executando o seguinte comando SQL no seu banco de dados (usando, por exemplo, o phpMyAdmin):
ALTER DATABASE `<your_database_name>` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Substitua <your_database_name> pelo nome do seu banco de dados. Depois de fazer isso, desative o seu inquérito e ative-o novamente.
Problemas específicos de banco de dados
Quero que o LimeSurvey use um esquema específico do Postgres
Defina no config.php 'initSQLs' => array('SET search_path TO "LimeSurvey";'), Consulte o config-defaults para ver um exemplo.