Actions

문제 해결

From LimeSurvey Manual

Revision as of 08:39, 12 July 2024 by Modernity4r (talk | contribs) (Created page with "그러면 이 문제가 해결될 것입니다.")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


__목차__


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

빠른 번역 시스템을 사용해도 답변이나 하위 질문이 저장되지 않습니다

or

많은 수의 응답 필드를 내보낼 때 모든 응답 필드가 내보내지지 않습니다

  • 이는 웹 서버의 제한 설정 때문일 가능성이 높습니다: max_input_vars . 이 설정은 서버에 게시(제출)될 수 있는 변수의 최대 개수를 제한합니다.

기본값은 1000으로 설정되지만, 답변 옵션이 많은 질문이 있거나 질문이 많은 설문조사 페이지가 있는 경우/ 답변이 있으면 이 한도를 초과했을 수 있습니다. PHP 구성(php.ini)을 편집해야 합니다.

  • 또한 호스트가 Apache용 Suhosin 확장을 사용하고 있다면 PHP 설정을 확인하세요. 이 확장 프로그램은 몇 가지 설정을 너무 제한적으로 설정했을 수 있습니다.
  • 예를 들어 "suhosin.post.max_vars"와 "suhosin.request.max_vars" 두 가지 설정은 모두 기본적으로 200 값으로 설정되어 있습니다. 사용자가 긴 설문조사를 완료하고 제출할 수 있도록 해당 설정을 400 이상으로 늘립니다.
  • 여전히 문제가 있는 경우 모듈을 시뮬레이션 모드로 전환하여 기본적으로 비활성화해 보십시오. 최대값은 항상 특정 측량에 따라 달라지기 때문입니다.
  • 또 다른 이유는 대규모 게시물 요청을 허용하지 않거나 백그라운드에서 동일한 페이지를 여러 번 요청하는 프록시 또는 유사한 소프트웨어일 수 있습니다(이로 인해 새 CSRF 키가 생성됨). 이 경우에는 다른 인터넷 연결을 시도해 보십시오.

Linux에서 FreeTDS와 함께 MSSQL Server를 사용할 때 질문이 표시되지 않습니다

질문 그룹을 주의 깊게 확인하면 그룹 관련성에 공백이 있어 전체 그룹이 관련되지 않게 됩니다. 근본적인 문제는 FreeTDS가 잘못된 구성으로 인해 빈 필드에 공백을 반환한다는 것입니다. FreeTDS 프로토콜 버전을 8.0 이상으로 설정하면 이 문제를 해결할 수 있습니다. 그러므로 freetds.conf(예: /etc/freetds/freetds.conf)를 편집하고 해당 줄을 다음으로 변경합니다.

    tds 버전 = 8.0

그러면 이 문제가 해결될 것입니다.

설문조사 진행 후

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

이것은 데이터베이스 자체가 기본적으로 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 사례를 참조하세요.