문제 해결
From LimeSurvey Manual
__목차__
일반
이 페이지에는 일반적인 기술 문제와 성공적인 설치 후 해결 방법이 나열되어 있습니다. 설치 중 발생하는 문제를 해결해야 하는 경우 설치 FAQ를 참조하세요.
관리 로그인 페이지를 열려고 할 때
오류 메시지: 설치 후 "입력 파일이 지정되지 않았습니다"
또는
어떤 URL이든 설문조사 목록 페이지에 표시될 수 있습니다
설치 과정에서 LimeSurvey는 URL 형식에 가장 적합한 솔루션을 결정하려고 시도합니다. 때로는 이것이 제대로 작동하지 않을 때도 있습니다.
config 파일을 편집하여 LimeSurvey가 다른 URL 관리자 시스템을 사용하도록 강제해야 합니다.
/application/config/config.php 에서 교체
'urlFormat' => 'path',
이것에 의해서:
'urlFormat' => 'get',
그런 다음 짧은 관리 URL을 사용하여 관리 패널을 열어보세요. http://<yourserver.net>/<limesurvey_dir>/admin
관리실 로그인 후
관리자 페이지에서 어떤 작업을 수행해도 로그인 화면으로 돌아갑니다
이는 다음과 같은 주요 이유로 발생할 수 있습니다:
- PHP 세션 문제
- UTF8 인코딩 문제
- IE 문제
PHP 세션:
- php.ini에서 upload_tmp_dir 및 session.save_path를 업데이트합니다
- 구성된 세션을 생성하고 디렉터리를 업로드합니다
- IIS: IIS 게스트 사용자 계정을 생성하고 수정할 수 있는 권한이 할당됩니다
- Apache : 웹서버가 구성된 디렉터리에 쓸 수 있는 권한이 있는지 확인하세요
- php.ini의 "session.use_cookies" 변수가 1로 설정되어 있는지 확인하세요.
- php의 "session.auto_start" 변수를 확인하세요. 1로 설정되어 있으면 0으로 변경합니다.
Internet Explorer 문제 LimeSurvey는 더 이상 Internet Explorer를 통한 관리 인터페이스 액세스를 지원하지 않습니다.
UTF8 인코딩:
파일(아마도 config.php)을 편집하는 경우 특수 언어 문자를 지원하기 위해 UTF8로 저장하지 마십시오! .php 파일은 항상 실제 ANSI/ISO 형식으로 저장하세요.
질문/답변 옵션/하위 질문이 너무 많은 페이지 제출이 작동하지 않습니다
PHP 5.3.9에는 max_input_vars라는 새로운 설정이 도입되었습니다(일부 이전 PHP 버전으로 백포트되기도 했습니다). 이 설정은 서버에 게시(제출)될 수 있는 최대 변수 수를 제한합니다. 기본값은 1000으로 설정되지만 답변 옵션이 많은 질문이 있거나 질문/답변이 많은 설문조사 페이지가 있는 경우 이 한도가 초과될 수 있습니다. PHP 구성 파일(php.ini)에서 이를 설정해야 합니다.
Linux에서 FreeTDS가 포함된 MSSQL Server를 사용하면 날짜가 올바르게 표시되지 않습니다
FreeTDS의 locales.conf 파일을 찾아 편집하세요. FreeTDS를 사용하는 다른 응용 프로그램이 없으면 내용을 다음으로 바꾸십시오:
[default]
date format = %Y-%m-%d %H:%M:%S.%z
FreeTDS를 사용하는 다른 애플리케이션이 있는 경우 먼저 편집해야 할 로케일을 확인하는 것이 좋습니다.
서버를 저장하고 다시 시작하십시오. 이제 날짜가 올바르게 표시됩니다. 그래도 작동하지 않으면 잘못된 파일을 편집했을 수 있습니다. 헹구고 반복하세요.
설문조사나 관리에 특수 문자(중국어, 키릴 문자, 그리스어, 아랍어)를 입력하면 모든 문자가 물음표로 표시됩니까?
This happens if your database itself is not created to 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. You need to do this before installing LimeSurvey.
PageSpeed creates some troubles to Limesurvey
You should include ModPagespeed off in your LimeSurvey virtualhost.
Otherwise, you will not be able to use ConfortUpdate, neither export data. Probably something else is going to fail.
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.
If Suhosin is activated on your server, it might be the reason why you get this in the middle of a survey.
![](/images/a/aa/Help.png)
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.
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.