Actions

문제 해결

From LimeSurvey Manual

Revision as of 08:37, 12 July 2024 by Modernity4r (talk | contribs) (Created page with "==답변/하위 질문이 많은 페이지에서 '다음'을 클릭한 후 모든 응답이 저장되지는 않습니다. == 또는 ==After clicking 'Next', I end up on the same page== or")


__목차__


Template:참고


일반

이 페이지에는 일반적인 기술 문제와 성공적인 설치 해결 방법이 나열되어 있습니다. 설치 중 발생하는 문제를 해결해야 하는 경우 설치 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 세션:

  1. php.ini에서 upload_tmp_dir 및 session.save_path를 업데이트합니다
  2. 구성된 세션을 생성하고 디렉터리를 업로드합니다
  3. IIS: IIS 게스트 사용자 계정을 생성하고 수정할 수 있는 권한이 할당됩니다
  4. Apache : 웹서버가 구성된 디렉터리에 쓸 수 있는 권한이 있는지 확인하세요
  5. php.ini의 "session.use_cookies" 변수가 1로 설정되어 있는지 확인하세요.
  6. 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를 사용하는 다른 애플리케이션이 있는 경우 먼저 편집해야 할 로케일을 확인하는 것이 좋습니다.

서버를 저장하고 다시 시작하십시오. 이제 날짜가 올바르게 표시됩니다. 그래도 작동하지 않으면 잘못된 파일을 편집했을 수 있습니다. 헹구고 반복하세요.

설문조사나 관리에 특수 문자(중국어, 키릴 문자, 그리스어, 아랍어)를 입력하면 모든 문자가 물음표로 표시됩니까?

이는 데이터베이스 자체가 UTF-8 문자 세트를 사용하도록 생성되지 않은 경우 발생합니다. 이는 공급자 관리 패널을 사용하여 데이터베이스를 생성해야 할 때 발생할 수 있습니다. 데이터베이스에서 다음 SQL 명령을 실행하여(예: phpMyAdmin 사용) 이 문제를 해결할 수 있습니다 ALTER DATABASE `<your_database_name>` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

<your_database_name>를 귀하의 데이터베이스 이름으로 바꾸십시오. LimeSurvey를 설치하기 전에 이 작업을 수행해야 합니다.

PageSpeed는 Limesurvey에 몇 가지 문제를 야기합니다

LimeSurvey 가상 호스트에 ModPagespeed off를 포함해야 합니다.

그렇지 않으면 ComfortUpdate를 사용할 수 없으며 데이터를 내보낼 수도 없습니다. 아마도 다른 일도 실패할 것입니다.

설문조사 중

"세션이 만료되었습니다" 오류

어느 시점에서 다음과 같은 메시지를 받을 수 있습니다:

오류

죄송합니다. 세션이 만료되었습니다.

귀하가 너무 오랫동안 활동하지 않았거나, 브라우저에서 쿠키가 비활성화되었거나, 연결에 문제가 있었습니다.

귀하의 서버에서 'Suhosin(수호신)'이 활성화되어 있다면, 설문조사 중간에 이런 내용이 나오는 이유일 수도 있습니다.

Template:참고

Suhosin은 PHP 설치를 위한 고급 보호 시스템이지만 Suhosin 기본 구성으로 인해 LimeSurvey에 문제가 발생할 수 있습니다.

먼저 Suhosin 문서에 따라 suhosin.log.sapi = 511 및 suhosin.simulation = on을 설정하여 Suhosin 로그를 사용하여 확인하고 테스트합니다.

구성 파일은 일반적으로 /etc/php5/apache2/conf.d/suhosin.ini에 있지만, 올바른 경로를 얻으려면 phpinfo를 확인할 수 있습니다(LimeSurvey 관리 > 전역 설정 > 버튼 phpinfo 표시 > 줄: "추가 .ini 파일 구문 분석됨).

매개변수를 고려하려면 Apache/Nginx 서버를 다시 시작하는 것을 잊지 마세요(service apache2 restart 또는 service nginx restart).

시뮬레이션이 실행되면 Suhosin은 아무 것도 차단하지 않으며 오류는 로그에 보고됩니다(보통 시스템 로그: /var/log/syslog). "ALERT-SIMULATION - 구성된 POST 변수 한도 초과", 이는 Suhosin 경고입니다..."와 같은 오류 메시지가 표시되면 다음 구성을 시도해 보십시오(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

해당 매개변수를 사용하면 suhosin.simulation을 다시 "off" 값으로 전환할 수 있어야 합니다(그래서 서버는 보호되고 LimeSurvey는 계속 작동합니다).

Suhosin의 기본값이 LimeSurvey에서 잘 작동하지 않습니다. 서버를 단단히 보호하려면 시뮬레이션 모드를 사용하여 설정을 조정하고 vars의 경우 1000~5000, value_lengths의 경우 1000000~5000000 사이의 적절한 값을 찾을 수 있습니다.

참고: 최근 도입된 추가 PHP 설정도 조정이 필요합니다: max_input_vars - 이 설정은 suhosin.post.max_vars와 동일하지만 php.ini에서 별도로 설정해야 합니다.

언어를 변경할 수 없습니다!

어떤 언어를 선택하든 인터페이스(관리자 및 사용자)는 항상 영어로 표시됩니다. 일반적으로 이는 PHP 버전의 버그로 인해 발생합니다. PHP 버전을 업데이트하는 것 외에는 다른 해결 방법이 없습니다.

몇 가지 일반적인 오류(IIS 중심으로)

Index.php가 열리지 않습니다

가능한 원인: 필요한 확장을 설치하지 않은 경우 이런 일이 발생할 수 있습니다

  • 멀티바이트 문자열 및 MSSQL(또는 MySQL) 확장을 설치해야 합니다.


가능한 원인: ISAPI 필터가 구성되지 않았습니다

  • IIS에서 웹 사이트(디렉터리 수준에서 수행할 수 있음)의 경우 php5isapi.dll을 사용하도록 구성해야 합니다.


Index.php가 열리지 않고 "php.exe -i"가 .dll 누락에 대한 오류 메시지를 표시합니다

너무 많은 확장을 설치하면 이런 일이 발생할 수 있습니다

  • 모든 PHP 확장을 설치하면 모든 종속성이 충족되지 않기 때문에 PHP가 실패합니다(예: oracle 패키지에는 oracle dll이 필요함)
  • 필요한 확장만 설치하세요
  • 테스트하려면 명령줄에서 php.exe -i를 실행해 보세요

데이터베이스가 누락되었다는 메시지

잘못된 URL로 이동하면 이런 일이 발생할 수 있습니다:

  • limesurvey/index.php 대신limesurvey/admin/install/index.php로 이동하십시오!

위의 수정 사항으로는 문제가 해결되지 않습니다

IIS을 다시 시작하지 않은 경우 이런 일이 발생할 수 있습니다

  • IIS를 다시 시작하세요

잊어버리기 쉬운 사항:

  • .php는 필터 php5isapi.dll과 연결되어야 합니다
  • limesurvey/tmp 디렉토리는 설문조사 업로드를 위한 쓰기 권한이 필요합니다
  • php.ini의 doc_root 및 config.php의 $rootdir을 업데이트합니다

파일 없음("해당 파일이나 디렉터리가 없습니다.")

LimeSurvey를 서버에 업로드할 때 연결이 중단되어 일부 파일이 전송되지 않거나 완전히 전송되지 않을 수 있습니다. 파일에 따라 LimeSurvey의 다른 기능/부분에 액세스할 때마다 다른 오류 메시지가 나타날 수 있습니다. 누락된 파일로 인해 발생하는 오류는 다음과 같습니다.

"경고: require_once(/path/to/your/limesurvey/installation/filename) [function.require-once]: 스트림을 열지 못했습니다: No such file or directory in /path/to/your/limesurvey/installation/filename on line 12345" OR

"치명적 오류: 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"

해결책

1. 업로드된 파일을 모두 삭제하세요.

2. 파일을 다시 업로드하세요.

(3. 필요한 경우: /limesurveyfolder/admin/install로 이동하여 다시 설치하세요)

페이지를 제출한 후, you end up on the general index page/on a 404 page 또는 'CSRF 토큰을 확인할 수 없습니다'라는 메시지가 표시됩니다.

또는

답변/하위 질문이 많은 페이지에서 '다음'을 클릭한 후 모든 응답이 저장되지는 않습니다.

또는

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.

설문조사 진행 후

참가자가 입력한 텍스트는 결과에 물음표로 나타납니다

이것은 데이터베이스 자체가 기본적으로 UTF-8 문자 집합을 사용하지 않는 경우에 발생합니다. 이는 공급자 관리 패널을 사용하여 데이터베이스를 생성해야 할 때 발생할 수 있습니다. 데이터베이스에서 다음 SQL 명령을 실행하여(예: phpMyAdmin 사용) 이 문제를 해결할 수 있습니다.

   데이터베이스 변경 `<your_database_name> ` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

<your_database_name>를 귀하의 데이터베이스 이름으로 바꾸십시오. 그런 다음 설문조사를 비활성화하고 다시 활성화하십시오.

데이터베이스 관련 문제

LimeSurvey가 특정 Postgres 스키마를 사용하기를 원합니다.

config.php 에 설정하세요. 'initSQLs' => array('SET search_path TO "LimeSurvey";'), 에 대한 config-defaults 사례를 참조하세요.