Ogólne często zadawane pytania
From LimeSurvey Manual
Pierwsze kroki
Aby przekonać się, co można zrobić za pomocą LimeSurvey, bez czytania połowy instrukcji, obejrzyj kilka naszych samouczków wideo na YouTube:
- Jak założyć konto i instalację ankiety
- Typ pytania: Tabela
- Oceny
- Pola symbolu zastępczego
- Typ pytania: Lista radio
- Kopiowanie/import ankiety
- Import pytania
Gdzie znajdę krótkie wprowadzenie do LimeSurvey?
Krótkie wprowadzenie w formie tekstowej do LimeSurvey znajdziesz tutaj:
- LimeSurvey Cloud – przewodnik szybkiego startu – utwórz i opublikuj swoją pierwszą ankietę w LimeSurvey Cloud
- Instalacja LimeSurvey Community Edition – jeśli chcesz uruchomić LimeSurvey na własnym serwerze
Projekt i układ ankiety
Jak usunąć index.php z adresu URL, aby uzyskać krótsze adresy URL?
Jeśli chcesz używać krótszych adresów URL (bez /index.php w każdym adresie), edytuj plik application/config/config.php i w sekcji urlManager zmień
'showScriptName' => prawda,
Do
'showScriptName' => fałsz,
Aby to działało na serwerze Apache, musi być włączony moduł mod_rewrite, a plik .htaccess dołączony do LimeSurvey musi znajdować się w głównym folderze LimeSurvey. W przypadku nginx zapoznaj się z naszą przykładową konfiguracją LimeSurvey dla nginx.
Jak ukryć czerwoną gwiazdkę przy pytaniach obowiązkowych?
LimeSurvey wyświetla czerwoną gwiazdkę na początku tekstu pytania w przypadku pytań obowiązkowych. W LimeSurvey 7.x obok niej wyświetlane jest słowo „Wymagane”. Aby je ukryć, dodaj regułę CSS do motywu ankiety:
- Motywy podstawowe, takie jak Fruity TwentyThree, nie mogą być edytowane bezpośrednio. Najpierw rozszerz motyw. Spowoduje to utworzenie edytowalnej kopii.
- Otwórz edytor motywów dla kopii i wybierz plik custom.css.
- Dodaj następujący wiersz:
.asterisk, .ls-question-mandatory {display: none;}
Zapisz zmiany. Następnie wybierz rozszerzony motyw w ustawieniach globalnych ankiety.
Ukrywa to również gwiazdkę w formularzu publicznej rejestracji.
Jak utworzyć ankietę, która będzie dostępna dla wszystkich?
Aby utworzyć ankietę, którą może wypełnić każdy, nie twórz tabeli uczestników ankiety. Udostępnij link do ankiety widoczny w panelu przeglądu.
Jak sprawić, aby wszystkie pola publicznej rejestracji były obowiązkowe?
Jeśli korzystasz z tabeli uczestników ankiety i jednocześnie zezwalasz na publiczną rejestrację, osoby, które chcą wziąć udział, wypełniają formularz rejestracyjny z imieniem, nazwiskiem i adresem e-mail. Obowiązkowy jest tylko adres e-mail:

Aby imię i nazwisko również były obowiązkowe, edytuj formularz rejestracyjny motywu ankiety. W przypadku Fruity TwentyThree najpierw rozszerz motyw, otwórz edytor motywów dla kopii i edytuj plik views/subviews/registration/register_form.twig. Pole adresu e-mail pokazuje, jak zbudowane jest pole obowiązkowe:
{# 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>
Zmień pola imienia i nazwiska w ten sam sposób:
- Dodaj
{{ include('./subviews/registration/required.twig') }}do etykiety. Spowoduje to wyświetlenie gwiazdki. - Dodaj
'required' : truedo opcji pola tekstowego. Dzięki temu pole stanie się obowiązkowe.
Edytowane pola powinny wyglądać następująco (przykład pochodzi z LimeSurvey 7.x; w wersji 6.x teksty symboli zastępczych są zapisane bez '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>
Formularz publicznej rejestracji wyświetla teraz wszystkie trzy pola jako obowiązkowe:

Ukrywanie przełącznika języka
Sposób ukrycia przełączników języka (na stronie powitalnej i w górnym menu) opisano we wskazówkach dotyczących ankiet wielojęzycznych.
Ukrywanie przycisku „Zakończ i usuń odpowiedzi”
W motywie Fruity TwentyThree przyciskiem „Zakończ i usuń odpowiedzi” steruje opcja motywu Pokaż przycisk "Wyczyść wszystko" (w sekcji Opcje podstawowe). Domyślnie jest ustawiona na Nie, więc uczestnicy widzą ten przycisk tylko wtedy, gdy opcja została włączona. Aby ukryć przycisk, ustaw tę opcję na Nie w opcjach motywu ankiety.
Pomocy, przez przypadek...
Zapomniałem hasła administratora. Jak to zresetować?
Za pomocą wiersza poleceń
- Zaloguj się na swój serwer za pomocą wiersza poleceń (na przykład przez SSH).
- Upewnij się, że możesz uruchamiać PHP z wiersza poleceń (zobacz dokumentację PHP).
- Przejdź do katalogu LimeSurvey.
- Uruchom to polecenie:
php application/commands/console.php resetpassword USERNAME NEWPASSWORD
USERNAME to nazwa istniejącego konta administratora, na przykład admin. Jeśli polecenie php nie zostanie znalezione, użyj jego pełnej ścieżki, na przykład /usr/bin/php. Nowe hasło zostanie zapisane w historii powłoki, dlatego po zalogowaniu się zmień je w LimeSurvey.
Tylko z dostępem przez FTP
Użyj kontrolera innej firmy ResetPasswordController. Po zresetowaniu hasła usuń ponownie ten plik i jego ustawienia z pliku config.php.
Bezpośrednio w bazie danych
Jeśli masz bezpośredni dostęp do bazy danych LimeSurvey, możesz tam ustawić nowe hasło. LimeSurvey akceptuje hasło zapisane jako skrót SHA-256 i zastępuje je bezpieczniejszym skrótem przy następnym zalogowaniu użytkownika.
Na przykład w MySQL lub MariaDB poniższe polecenie ustawia hasło użytkownika admin na newpassword:
UPDATE lime_users SET password = SHA2('newpassword', 256) WHERE users_name = 'admin';
W PostgreSQL użyj encode(sha256('newpassword'), 'hex') zamiast SHA2('newpassword', 256). Jeśli Twoje tabele mają inny prefiks niż lime_, odpowiednio zmień nazwę tabeli. Zaloguj się i od razu zmień hasło.
Jak mogę przywrócić dane z dezaktywowanej ankiety?
Zalecamy, aby zawsze pozwolić ankiecie wygasnąć zamiast ją dezaktywować. Jeśli przypadkowo dezaktywowałeś ankietę, ważne jest, aby niczego w niej nie zmieniać!
Wtedy i tylko wtedy zadziałają poniższe kroki:
- Aktywuj ankietę ponownie.
- Otwórz odpowiedzi w ankiecie.
- Kliknij Importuj i wybierz „Importuj odpowiedzi z dezaktywowanej tabeli ankiet” (LimeSurvey 6.x) lub „Importuj odpowiedzi z zarchiwizowanej tabeli odpowiedzi” (LimeSurvey 7.x).
- Wybierz tabelę źródłową.
- Kliknij przycisk „Importuj”.
Usunąłem pytanie/grupę pytań/ankietę!
Jeśli go usuniesz, zniknie. Tylko kopia zapasowa może pomóc w jego odzyskaniu.
Wymagania dotyczące sprzętu i oprogramowania
Informacje o ogólnych wymaganiach znajdziesz w naszej instrukcji instalacji.
Jakie ograniczenia ma LimeSurvey...
...w odniesieniu do prędkości
W LimeSurvey nie ma limitu szybkości. Wszystko zależy od tego, jak szybki jest Twój serwer i jego połączenie. Jeśli spodziewasz się dużej liczby uczestników w krótkim czasie i nie jesteś pewien, czy Twój serwer sobie z tym poradzi, wyszukaj podobne tematy na naszym forum, skorzystaj z LimeSurvey Cloud lub skontaktuj się z autoryzowanym partnerem LimeSurvey.
...w odniesieniu do rozmiaru ankiety
„Rozmiar ankiety” odnosi się do liczby pytań (i odpowiedzi) w ankiecie – nie myl tego z liczbą odpowiedzi udzielonych w ankiecie (nie ma w tym zakresie ograniczeń). Sam LimeSurvey nie ma limitu liczby pytań ani odpowiedzi, ale używana baza danych ma kilka ograniczeń. Najważniejsze z nich to maksymalna liczba kolumn w tabeli odpowiedzi i maksymalny rozmiar wiersza.
MySQL i MariaDB
Domyślnie LimeSurvey tworzy swoje tabele przy użyciu silnika MyISAM. Podczas instalacji możesz zamiast niego wybrać InnoDB.
- MyISAM: Wiersz może mieć maksymalnie 65 535 bajtów. W zestawie znaków utf8mb4, którego używa LimeSurvey, jeden znak może zajmować do czterech bajtów, więc wiersz może pomieścić nawet tylko 16 383 znaki. Zwykle jest to pierwsze ograniczenie, na które natrafisz.
- InnoDB: Tabela może mieć maksymalnie 1017 kolumn.
Szczegóły znajdziesz w dokumentacji MySQL.
Możesz z grubsza obliczyć rozmiar swojej ankiety w następujący sposób:
- Każde pytanie wielokrotne numeryczne: 20 znaków „dla każdej odpowiedzi”
- Każde pytanie wielokrotnego wyboru i odpowiedzi na pytania tablicowe: 5 znaków „” dla każda odpowiedź
- Co drugi typ pytania: 5 znaków
- Dodaj 10% do zwykłego kosztu ogólnego
Microsoft SQL Server
Microsoft SQL Server dopuszcza do 1024 kolumn w tabeli i 8060 bajtów w wierszu (zobacz dokumentację Microsoft). Nawet jeśli ankietę można aktywować, uczestnicy mogą nie być w stanie wysłać swoich odpowiedzi, jeśli zawierają dużo tekstu.
Limit 8060 bajtów może też powodować błędy po aktywacji podczas przeglądania lub eksportowania odpowiedzi. Eksportuj kody odpowiedzi zamiast tekstów odpowiedzi albo eksportuj tylko wybrane kolumny.
PostgreSQL
PostgreSQL dopuszcza od 250 do 1600 kolumn w tabeli, w zależności od typów kolumn (zobacz dokumentację PostgreSQL). Podczas eksportowania odpowiedzi może pojawić się błąd SQLSTATE[54000]. W takim przypadku eksportuj tylko wybrane kolumny. Zobacz ten post na forum.
Jak zwiększyć maksymalną liczbę kolumn w PostgreSQL
Jeśli Twoja ankieta zawiera zbyt wiele pytań, możesz skompilować PostgreSQL z większym rozmiarem bloku, na przykład 32 kB (opcja konfiguracji --with-blocksize=32), aby zmieścić więcej kolumn w wierszu. Baza danych utworzona z jednym rozmiarem bloku nie może być używana przez serwer PostgreSQL skompilowany z innym, dlatego zrób to przed utworzeniem bazy danych LimeSurvey.
Instrukcję krok po kroku znajdziesz w artykule Instrukcje dotyczące zwiększania maksymalnej liczby kolumn w PostgreSQL na Linuksie.
Błąd krytyczny: dozwolony rozmiar pamięci
W zależności od konfiguracji serwera możesz napotkać problemy z pamięcią zgłaszane przez błąd typu „” „Błąd krytyczny: wyczerpano dozwolony rozmiar pamięci wynoszący 8388608 bajtów (próbowano przydzielić 233472 bajty) w pliku /path/to/htdocs/limesurvey/filename.php w linii 7296".
LimeSurvey ustawia własny limit pamięci, który domyślnie wynosi 256 MB. Możesz go zwiększyć, dodając opcjonalne ustawienie memory_limit do pliku konfiguracyjnego LimeSurvey.
Pamiętaj, że wyższy limit ustawiony w konfiguracji PHP serwera ma pierwszeństwo. Aby zwiększyć limit pamięci PHP serwera do 512 MB, dodaj:
memory_limit = 512Mdo głównego pliku php.ini serwera (zalecane, jeśli masz dostęp)php_value memory_limit 512Mdo pliku .htaccess w katalogu głównym LimeSurvey (tylko jeśli PHP działa jako moduł Apache)memory_limit = 512Mdo pliku php.ini lub .user.ini w katalogu głównym LimeSurvey (w niektórych konfiguracjach hostingu)
Specjalna konfiguracja
W pewnych okolicznościach musisz zaktualizować konfigurację LimeSurvey w pliku application/config/config.php.
Dwie instancje LimeSurvey w tej samej domenie
Możesz uruchomić kilka instancji LimeSurvey w tej samej domenie, na przykład example.org/ls1 i example.org/ls2. Każda instancja potrzebuje własnej nazwy pliku cookie sesji, ustawianej za pomocą sessionName w sekcji session pliku application/config/config.php. Instalator ustawia losową nazwę, więc w przypadku świeżej instalacji nie są potrzebne żadne zmiany.
Jeśli skopiowano plik config.php z jednej instancji do drugiej lub Twój plik config.php pochodzi z wersji starszej niż LimeSurvey 4.0, sprawdź, czy każda instancja ma własną wartość. W przeciwnym razie zalogowanie się do jednej instancji spowoduje wylogowanie z drugiej. Dodaj lub zmień wiersz sessionName w istniejącej sekcji session, na przykład w pliku konfiguracyjnym ls1:
'session' => array (
'sessionName' => 'LS-ABCDEFGHIJKLMNOP',
),
W pliku konfiguracyjnym ls2 użyj innej losowej wartości. Zobacz także ustawienia sesji.