일반 FAQ
From LimeSurvey Manual
시작하기
매뉴얼을 많이 읽지 않고도 LimeSurvey로 무엇을 할 수 있는지 감을 잡으려면 YouTube의 동영상 튜토리얼을 시청해 보세요.
LimeSurvey에 대한 간단한 소개는 어디에서 볼 수 있나요?
LimeSurvey에 대한 간단한 글 소개는 다음을 참조하세요.
- LimeSurvey Cloud - Quick start guide/ko – LimeSurvey Cloud에서 첫 설문조사를 생성하고 게시하기
- LimeSurvey Community Edition 설치 – 자체 서버에서 LimeSurvey를 실행하려는 경우
설문조사 디자인 및 레이아웃
URL을 더 짧게 만들기 위해 URL에서 index.php를 제거하려면 어떻게 해야 하나요?
더 짧은 URL(모든 URL에 /index.php가 없는 형태)을 사용하려면 application/config/config.php를 편집하고 urlManager 섹션에서 다음을 변경하세요.
'showScriptName' => true,
에서 다음으로 편집하세요
'showScriptName' => false,
Apache에서 이 기능이 작동하려면 mod_rewrite가 활성화되어 있어야 하고, LimeSurvey와 함께 제공되는 .htaccess 파일이 LimeSurvey 루트 폴더에 있어야 합니다. nginx의 경우 LimeSurvey nginx 예제 구성을 참조하세요.
필수 질문의 빨간색 별표를 숨기려면 어떻게 해야 하나요?
LimeSurvey는 필수 질문의 질문 텍스트 시작 부분에 빨간색 별표를 표시합니다. LimeSurvey 7.x에서는 그 옆에 "요구됨"이라는 단어도 표시됩니다. 이를 숨기려면 설문조사 테마에 CSS 규칙을 추가하세요.
- Fruity TwentyThree와 같은 코어 테마는 직접 편집할 수 없습니다. 먼저 테마를 확장하세요. 그러면 편집 가능한 복사본이 생성됩니다.
- 복사본의 테마 편집기를 열고 custom.css 파일을 선택하세요.
- 다음 줄을 추가하세요.
.asterisk, .ls-question-mandatory {display: none;}
변경 사항을 저장하세요. 그런 다음 설문조사의 일반 설정에서 확장한 테마를 선택하세요.
이렇게 하면 공개 등록 양식의 별표도 숨겨집니다.
모든 사람에게 공개되는 설문조사를 만들려면 어떻게 해야 하나요?
누구나 작성할 수 있는 설문조사를 만들려면 설문조사 참여자들 테이블을 생성하지 마세요. 개요 패널에 표시되는 설문조사 링크를 공유하세요.
공개 등록의 모든 필드를 필수로 만들려면 어떻게 해야 하나요?
설문조사 참여자들 테이블을 사용하면서 공개 등록도 허용하는 경우, 참여를 원하는 사람은 이름, 성, 이메일 주소를 입력하는 등록 양식을 작성합니다. 이메일 주소만 필수입니다.

이름과 성도 필수로 만들려면 설문조사 테마의 등록 양식을 편집하세요. Fruity TwentyThree의 경우 먼저 테마를 확장한 다음 복사본의 테마 편집기를 열고 views/subviews/registration/register_form.twig 파일을 편집하세요. 이메일 필드는 필수 필드가 어떻게 구성되는지 보여 줍니다.
{# Participants email #}
<div class='{{ aSurveyInfo.class.registerformcolrowc }} row mb-3' {{ aSurveyInfo.attr.registerformcolrowc }}>
<label {{ aSurveyInfo.attr.registerformcolrowclabel }} class='{{ aSurveyInfo.class.registerformcolrowclabel }} control-label'> {{ gT("E-mail") }} {{ include('./subviews/registration/required.twig') }}</label>
<div {{ aSurveyInfo.attr.registerformcolrowcdiv }} >
{{ C.Html.emailField('register_email', aSurveyInfo.sEmail, ({'id' : 'register_email','class' : 'form-control ls-important-field','required' : true, 'placeholder' : gT('Enter e-mail address', 'unescaped')})) }}
</div>
</div>
이름과 성 필드도 같은 방식으로 변경하세요.
- 레이블에
{{ include('./subviews/registration/required.twig') }}를 추가하세요. 그러면 별표가 표시됩니다. - 텍스트 필드의 옵션에
'required' : true를 추가하세요. 그러면 해당 필드가 필수가 됩니다.
편집한 필드는 다음과 같아야 합니다(예시는 LimeSurvey 7.x 기준이며, 6.x에서는 자리 표시자 텍스트를 'unescaped' 없이 작성합니다).
{# Participants first name #}
<div class='{{ aSurveyInfo.class.registerformcolrow }} col-md-6 col-12 mb-3 mb-md-0' {{ aSurveyInfo.attr.registerformcolrow }}>
<label for='register_firstname' class='{{ aSurveyInfo.class.registerformcolrowlabel }} control-label '>{{ gT("First name") }} {{ include('./subviews/registration/required.twig') }}</label> {# extra label #}
<div class="">
{{ C.Html.textField('register_firstname', aSurveyInfo.sFirstName, ({'id' : 'register_firstname','class' : 'form-control ls-important-field', 'required' : true, 'placeholder' : gT('Enter your first name', 'unescaped') })) }} {# mandatory field #}
</div>
</div>
{# Participants last name #}
<div class='{{ aSurveyInfo.class.registerformcolrowb }} col-md-6 col-12' {{ aSurveyInfo.attr.registerformcolrowb }}>
<label {{ aSurveyInfo.attr.registerformcolrowblabel }} class='{{ aSurveyInfo.class.registerformcolrowblabel }} control-label '>{{ gT("Last name") }} {{ include('./subviews/registration/required.twig') }}</label> {# extra label #}
<div {{ aSurveyInfo.attr.registerformcolrowbdiv }} >
{{ C.Html.textField('register_lastname', aSurveyInfo.sLastName, ({'id' : 'register_lastname', 'class' : 'form-control ls-important-field', 'required' : true, 'placeholder' : gT('Enter your last name', 'unescaped')})) }} {# mandatory field #}
</div>
</div>
이제 공개 등록 양식에 세 필드가 모두 필수로 표시됩니다.

언어 전환기 숨기기
환영 페이지와 상단 메뉴의 언어 전환기를 숨기는 방법은 다국어 설문조사의 힌트와 팁에 설명되어 있습니다.
"답변을 파기하고 종료" 버튼 숨기기
Fruity TwentyThree에서 "답변을 파기하고 종료" 버튼은 테마 옵션 \'모두 지우기\' 버튼 보이기(간단한 옵션 아래)로 제어됩니다. 기본값은 아니요이므로 이 옵션을 켠 경우에만 참여자에게 버튼이 표시됩니다. 버튼을 숨기려면 설문조사의 테마 옵션에서 이 옵션을 아니요로 설정하세요.
도와주세요, 실수로...
관리자 비밀번호를 잊어버렸습니다. 어떻게 초기화하나요?
명령줄 사용
- 명령줄(예: SSH)로 서버에 로그인합니다.
- 명령줄에서 PHP를 실행할 수 있는지 확인합니다(PHP 문서 참조).
- LimeSurvey 디렉터리로 이동합니다.
- 다음 명령을 실행합니다.
php application/commands/console.php resetpassword USERNAME NEWPASSWORD
USERNAME은 기존 관리자 계정의 이름입니다(예: admin). php 명령을 찾을 수 없다면 전체 경로를 사용하세요(예: /usr/bin/php). 새 비밀번호는 셸 기록에 저장되므로 로그인한 후 LimeSurvey에서 비밀번호를 변경하세요.
FTP 접근만 가능한 경우
타사 컨트롤러 ResetPasswordController를 사용하세요. 비밀번호를 초기화한 후에는 해당 파일과 설정을 config.php에서 다시 제거하세요.
데이터베이스에서 직접
LimeSurvey 데이터베이스에 직접 접근할 수 있다면 그곳에서 새 비밀번호를 설정할 수 있습니다. LimeSurvey는 SHA-256 해시로 저장된 비밀번호를 허용하며, 사용자가 다음에 로그인할 때 이를 더 안전한 해시로 교체합니다.
예를 들어 MySQL 또는 MariaDB에서 다음 명령은 사용자 admin의 비밀번호를 newpassword로 설정합니다:
UPDATE lime_users SET password = SHA2('newpassword', 256) WHERE users_name = 'admin';
PostgreSQL에서는 SHA2('newpassword', 256) 대신 encode(sha256('newpassword'), 'hex')를 사용하세요. 테이블에 lime_ 이외의 접두사를 사용한다면 테이블 이름을 그에 맞게 변경하세요. 로그인한 후 바로 비밀번호를 변경하세요.
비활성화된 설문조사의 데이터를 어떻게 복구할 수 있나요?
설문조사를 비활성화하는 대신 항상 만료하는 것을 권장합니다. 실수로 설문조사를 비활성화한 경우 설문조사에서 아무것도 변경하지 않는 것이 중요합니다!
그런 다음에만 다음 단계가 작동합니다:
- 설문조사를 다시 활성화합니다.
- 설문조사의 답변들을 엽니다.
- 가져오기를 클릭하고 "비활성화된 설문조사 테이블에서 답변 가져오기"(LimeSurvey 6.x) 또는 "보관된 응답 테이블에서 답변 가져오기"(LimeSurvey 7.x)를 선택합니다.
- 가져올 테이블을 선택합니다.
- "가져오기" 버튼을 클릭합니다.
질문/질문 그룹/설문조사를 삭제했습니다!
삭제하면 사라집니다. 백업만이 복구하는 데 도움이 될 수 있습니다.
하드웨어 및 소프트웨어 요구 사항
일반적인 요구 사항은 설치 지침을 참조하세요.
LimeSurvey에는 어떤 한계가 있나요...
...속도에 관하여
LimeSurvey에는 속도 제한이 없습니다. 모든 것은 서버와 연결 속도에 따라 달라집니다. 짧은 시간 내에 많은 참가자가 예상되고 서버가 이를 처리할 수 있는지 확실하지 않다면, 포럼에서 유사한 주제를 검색하거나, LimeSurvey Cloud를 사용하거나, LimeSurvey 공인 파트너에게 문의하세요.
...설문 조사 크기에 관하여
'설문조사 크기'는 설문조사의 질문(및 응답) 수를 의미합니다. 설문조사의 답변 수와 혼동하지 마세요(답변 수에는 제한이 없습니다). LimeSurvey 자체에는 질문이나 응답 수에 제한이 없지만, 사용하는 데이터베이스에는 몇 가지 제한이 있습니다. 가장 중요한 것은 응답 테이블의 최대 열 수와 행의 최대 크기입니다.
MySQL과 MariaDB
기본적으로 LimeSurvey는 MyISAM 스토리지 엔진으로 테이블을 생성합니다. 설치 중에 InnoDB를 대신 선택할 수 있습니다.
- MyISAM: 행은 최대 65,535바이트까지 가질 수 있습니다. LimeSurvey가 사용하는 utf8mb4 문자 집합에서는 한 문자에 최대 4바이트가 필요할 수 있으므로 한 행에 16,383자밖에 들어가지 않을 수도 있습니다. 보통 가장 먼저 도달하는 제한입니다.
- InnoDB: 테이블은 최대 1,017개의 열을 가질 수 있습니다.
자세한 내용은 MySQL 문서를 참조하세요.
설문조사의 크기는 다음과 같이 대략적으로 계산할 수 있습니다.
- 모든 다중 숫자형 질문: 각 답변당 20자
- 모든 다중 선택 및 배열형 질문 답변: 각 답변당 5자
- 모든 다른 질문 유형: 5자
- 일반적인 오버헤드에 10% 추가
Microsoft SQL Server
Microsoft SQL Server는 테이블당 최대 1,024개의 열과 행당 8,060바이트를 허용합니다(Microsoft 문서 참조). 설문조사를 활성화할 수 있더라도 텍스트가 많으면 참가자가 답변을 제출하지 못할 수 있습니다.
8,060바이트 제한은 활성화 후 답변을 탐색하거나 내보낼 때에도 오류를 일으킬 수 있습니다. 응답 텍스트 대신 응답 코드를 내보내거나 일부 열만 내보내세요.
PostgreSQL
PostgreSQL은 열 유형에 따라 테이블당 250개에서 1,600개의 열을 허용합니다(PostgreSQL 문서 참조). 답변을 내보낼 때 SQLSTATE[54000] 오류가 발생할 수 있습니다. 이 경우 일부 열만 내보내세요. 이 포럼 게시물을 참조하세요.
PostgreSQL에서 최대 열 개수를 늘리는 방법
설문조사에 질문이 너무 많은 경우, 더 큰 블록 크기(예: 32kB, 구성 옵션 --with-blocksize=32)로 PostgreSQL을 컴파일하면 한 행에 더 많은 열을 담을 수 있습니다. 한 블록 크기로 생성된 데이터베이스는 다른 블록 크기로 컴파일된 PostgreSQL 서버에서 사용할 수 없으므로, LimeSurvey 데이터베이스를 생성하기 전에 이 작업을 수행하세요.
단계별 지침은 Linux에서 PostgreSQL의 최대 열 수를 늘리는 방법을 참조하세요.
치명적인 오류: 허용된 메모리 크기
서버 구성에 따라 "치명적인 오류: /path/to/htdocs/limesurvey/filename.php의 7296번째 줄에서 허용된 메모리 크기인 8388608바이트를 초과했습니다(233472바이트를 할당하려고 했습니다)"와 같은 오류로 보고되는 메모리 문제가 발생할 수 있습니다.
LimeSurvey는 기본값이 256MB인 자체 메모리 제한을 설정합니다. LimeSurvey의 구성 파일에 선택적 설정 memory_limit을 추가하여 이 값을 높일 수 있습니다.
서버의 PHP 구성에서 설정한 더 높은 제한이 우선한다는 점에 유의하세요. 서버의 PHP 메모리 제한을 512MB로 높이려면 다음을 추가하세요:
memory_limit = 512M을 서버의 기본 php.ini 파일에 추가합니다(접근 권한이 있는 경우 권장).php_value memory_limit 512M을 LimeSurvey 루트 폴더의 .htaccess 파일에 추가합니다(PHP가 Apache 모듈로 실행되는 경우에만 해당).memory_limit = 512M을 LimeSurvey 루트 폴더의 php.ini 또는 .user.ini 파일에 추가합니다(일부 호스팅 환경에서).
특정 구성
특정 상황에서는 application/config/config.php에서 LimeSurvey 구성을 업데이트해야 합니다.
동일한 도메인에 두 개의 LimeSurvey 인스턴스
같은 도메인에서 여러 LimeSurvey 인스턴스를 실행할 수 있습니다. 예를 들어 example.org/ls1과 example.org/ls2처럼 실행할 수 있습니다. 각 인스턴스에는 고유한 세션 쿠키 이름이 필요하며, 이 이름은 application/config/config.php의 session 섹션에 있는 sessionName으로 설정합니다. 설치 프로그램이 임의의 이름을 설정하므로 새로 설치한 경우에는 변경할 필요가 없습니다.
한 인스턴스에서 다른 인스턴스로 config.php를 복사했거나 config.php가 LimeSurvey 4.0보다 이전 버전의 파일이라면 각 인스턴스가 고유한 값을 가지고 있는지 확인하세요. 그렇지 않으면 한 인스턴스에 로그인할 때 다른 인스턴스에서 로그아웃됩니다. 기존 session 섹션에 sessionName 줄을 추가하거나 변경하세요. 예를 들어 ls1의 구성 파일은 다음과 같습니다:
'session' => array (
'sessionName' => 'LS-ABCDEFGHIJKLMNOP',
),
ls2의 구성 파일에는 다른 임의의 값을 사용하세요. 세션 설정도 참조하세요.