Installations-FAQ - Häufig gestellte Fragen
From LimeSurvey Manual
Inhalt:
Während der Installation (Limesurvey 1.92 and älter)
Wie kann ich über die MySQL-Kommandozeile eine Datenbank und einen Benutzer erstellen?
Sie müssen die folgenden Befehle in MySQL eingeben:
create database <dein_datenbankname>;
create user <dein_datenbank_benutzername>;
create user <dein_datenbank_benutzername>@localhost;
set password for <dein_datenbankname> = PASSWORD('<dein_datenbank_passwort>');
set password for <dein_datenbank_benutzername>@localhost = PASSWORD('<dein_datenbank_passwort>');
grant all on <dein_datenbankname>.* to '<dein_datenbank_benutzername>';
grant all on <dein_datenbankname>.* to '<dein_datenbank_benutzername>'@'localhost';
Sie müssen <dein_datenbankname>, <dein_datenbank_benutzername> and <dein_datenbankpasswort> in den Zeilen oben natürlich mit den richtigen Werten ersetzen.
Was mache ich, wenn ich mittels Skript keine Datenbank erstellen kann?
Im Normalfall erstellt LimeSurvey eine neue Datenbank und im Anschluss die Tabellenstrukturen.
Wenn jedoch der Server/ISP keine Rechte für die Erstellung von MySQL-Datenbanken vergibt, wirst du das Support-Team deines Servers kontaktieren müssen, um Die dir nötige Datenbank erstellen zu lassen (oder du erstellst diese selbst). Sie sollten für dich eine leere Datenbank erstellen, welche die entsprechenden Zugriffsrechte (z.b: lesen/schreiben/erstellen) beinhaltet.
Startet die LimeSurvey-Installation ganz normal und LimeSurvey sollte dann alle benötigten Tabellen in der Datenbank anlegen.
Was ist diese mbstring-Erweiterung (Multibyte String Functions)?
Die mbstring-Erweiterung (Multibyte String Functions) ist ein Erweiterung für PHP, mit der die Zeichenkodierung von einer Sprache in eine andere umgewandelt werden kann - diese Erweiterung muss für LimeSurvey installiert sein. Um zu überprüfen, ob diese Erweiterung bereits installiert ist, öffne die URL
http://<dein_server>/<dein_limesurvey_verzeichnis>/admin/install/phpinfo.php
mit deinem Internet-Browser. Nun sollte jede Menge Informationen gezeigt werden. Suche nach dem Begriff 'mbstring' im Bereich 'Configuration'.
Wenn er gefunden werden kann, ist alles in bester Ordnung und du kannst deine Installation bedenkenlos fortsetzen!
Sollte der Begriff 'mbstring' nicht enthalten sein, wirst du das Problem lösen müssen.
Dafür gibt es drei mögliche Lösungswege:
- Server eines Providers: Frage deinen Provider, ob er die Erweiterung mbstring für PHP aktivieren kann. Wenn du ein richtig gutes Provider-Panel hast, kannst du dies vielleicht auch selbst.
- Dein eigener Linux-Server: Du wirst PHP mit der mbstring-Erweiterung neu kompilieren müssen. Frage einen PHP-Experten deines Vertrauen oder google im Internet, wie man so etwas macht. Bei den meisten Distributionen kann man das mittlerweile sogar mit dem Paketmanager installieren. Beispiel:
- Wenn du eine Linux-Version benutzt, welche 'yum' (CentOS, RedHat, Fedora) unterstützt:
- Im Terminal (als super Benutzer) folgendes eingeben: yum install php-mbstring
- Aktualisieren Sie auch ggf. /etc/php.ini und entfernen Sie die Kommentare bei den verschiedenen mbstring-Einstellungen
- ANach der Installation müssen sie Apache neu starten: /etc/init.d/httpd restart
- Dein eigener Windows-Server: Hier ist es am einfachsten - suche nach der Datei php.ini, öffne die Datei mit einem Text-Editor und suche nach mbstring. Wahrscheinlich ist die Zeile mit mbstring mittels Semikolon nur auskommentiert, entferne dieses, speichere die Datei und führe einen Neustart deines Webservers durch.
Wenn ich spezielle Zeichen (chinesisch, kyrilisch, griechisch,...) in meiner Umfrage verwende, werden die Zeichen nur als Fragezeichen dargestellt?
Dies passiert, wenn die Umfrage nicht auf Basis des UTF-8 Zeichensatz erstellt wurde (wenn z.B. die Datenbank nicht von LimeSurvey erstellt wurde). Mit dem folgenden SQL-Befehl (z.B. über phpMyAdmin), welcher auf ihrer Datenbank ausgeführt wird, kann dies behoben werden:
ALTER DATABASE `<ihr_Datenbank_Name>` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Ersetzen sie <ihr_Datenbank_Name> mit dem Namen ihrer Datenbank. Dies muss vor der Installation von LimeSurvey geschehen.
Leere Seite beim Zugriff auf die Installation-Startseite
Das Problem liegt oft nicht bei der LimeSurvey Installation, sondern bei der PHP-Installation.
- Überprüfen Sie ob das MySQL-PHP-Modul (PHP-MySQL) installiert ist.
- Überprüfen Sie ob Ihre PHP-Installation die richtige php.ini lädt und sie wirklich auch gerade die richtige php.ini Datei bearbeiten.
- Überprüfen Sie den Speicherort und die Berechtigungen der folgenden Einstellungen in der php.ini
upload_tmp_dir="/temp"
session.save_path="/temp"
- Überprüfen Sie ob auf Ihrem Server die richtige PHP-Version läuft (z.B. das "leere Seite"-Problem erscheint mit PHP 4.4 und LimeSurvey v2.00+).
Fehlermeldungen aufgrund von nicht vorhandenen Ressourcen
Manchmal werden Dateien nicht korrekt hochgeladen oder wurden während des Uploads unterbrochen. Dies führt zu verschiedenen Fehlermeldungen. Die meisten von ihnen beziehen sich auf eine Datei oder eine Funktion innerhalb einer Datei, die nicht gefunden werden kann.
Lösung: Nochmaliges Hochladen aller Dateien mit dem Binär-Modus Ihres FTP-Programms.
Nach Erstellen der Datenbank
Leere Seite nach Erstellen der Datenbank
Symptome
- LimeSurvey wird normal installiert und die Datenbank wurde erstellt, aber statt der Admin-Seite erhalten Sie eine leere Seite ↵
- Das Webserver-Protokoll zeigt "Fatal error: Call to a member function on a non-object in /path/to/limesurvey/admin/login_check.php on line 69"
Lösung
Dies ist wahrscheinlich eine falsche Einstellung für $rooturl oder $rootdir in der config.php. Insbesondere config.php versucht $rootdir korrekt durch den Aufruf dirname('''FILE''') zu setzen und während dies in der Regel funktioniert, kann es stören, wenn LimeSurvey in einem Benutzer-Home-oder public_html Verzeichnis installiert wird und das Home-Verzeichnis z.B. über NFS eingebunden. Versuchen Sie $rootdir manuell zu setzen, und insbesondere wenn Ihre Shell oder pwd Kommando einen Pfad wie z.B. "/disks/hostname/home/username/public_html/limesurvey", zeigt, versuchen Sie auch "/home/username/public_html/limesurvey"
Beim Zugriff auf die Admin-Seite, läuft und läuft der Browser und bricht irgendwann ab
Symptome
- LimeSurvey wird normal installiert und die Datenbank wurde erstellt, aber wenn man das Admin-Seite zugreifen, lädt der Browser sehr lange und bricht dann irgendwann ab.
- Wenn Sie das Web-Server Log überprüfen, ist es sehr schnell gewachsen (in einigen Fällen mehr als 2 GB).
- Innerhalb des Webserver-Protokolls sehen die diese wiederkehrende Meldung:
Warning: fread() [function.fread]: Length parameter must be greater than 0 in /limesurvey/classes/php-gettext/streams.php on line 120
Hinweis: Die Zeilennummer kann je nach LimeSurvey Version unterschiedlich sein.
Lösung
Dies kann durch die Einstellung mbstring.func_overload verursacht werden. Überprüfen Sie die Einstellung in der php.ini und setzen Sie diese wie folgt.
mbstring.func_overload = 0 ↵
Hinweis:Dies bedeutet, dass Funktionen nicht mehr überladen werden. Siehe PHP-Manual für diese Einstellung: Function Overload Feature
Beim Zugriff auf die Admin-Seite kommt folgende Fehlermeldung "Fatal error: Call to a member function gT() on a non-object in login_check.php on line 76"
Symptome
- LimeSurvey wird normal installiert und die Datenbank wurde erstellt, aber wenn man zu Administrationsseite weitgergeleitet wird, zeigt der Browser obigen Fehler.
- $rootdir und $rooturl sind korrekt gesetzt in config.php.
- Der Pfad zum LimeSurvey Installationsverzeichnis enthält eines der folgenden Zeichen: ()+
"Achtung:" Andere ungewöhnliche Zeichen könnten ebenfalls diesen Fehler auslösen
Lösung
Verschiebe/benennen den problematischen Teil des Pfades um, so dass dieser keines der folgenden Zeichen enthält: ()+
Nach der Installation
Fehlermeldung: "No input file specified" nach der Installation
Während der Installation versucht LimeSurvey die beste Lösung für das URL-Format zu finden. Manchmal funktioniert das nicht richtig.
You have to force LimeSurvey to use another URL manager system by editing your config file.
In /application/config/config.php replace
'urlManager' => array(
'urlFormat' => 'path',
'rules' => require('routes.php'),
'showScriptName' => true,
),
by these lines:
'urlManager' => array(
'urlFormat' => 'get',
'rules' => require('routes.php'),
'showScriptName' => true,
),
Nach dem Login
Jegliche Aktion in der Administration führt zum Anmeldebildschirm
Dies kann aufgrund der folgenden Hauptgründe passieren:
- PHP Session Probleme
- UTF-8 Problem
- Internet Explorer Probleme
PHP Sessions:
- Überprüfe/aktualisiere die Einstellungen upload_tmp_dir und session.save_path in der php.ini
- Lege die konfigurierten Verzichnisse an
- IIS: Weise Berechtigungen dem IIS Gastzugang zu, dass diese Verzeichnisse beschrieben werden dürfen
- Apache: Stelle sicher, dass der Webserver Schreibberechtigungen in diese Verzeichnisse hat
- Überprüfe ob die Einstellung "session.use_cookies" in der php.ini auf 1 gesetzt ist. Wenn nicht, dann setzen.
- Überprüfe ob die Einstellung "session.auto_start" in der php.ini auf 0 gesetzt ist. Wenn nicht, dann setzen.
UTF-8:
Wenn Sie ein der Dateien bearbeiten (höchstwahrscheinlich ist dies config.php), dann speichern Sie diese nicht im UTF-8 Format. Speichern Sie PHP-Dateien immer im ANSI/ISO Zeichensatz. Seit Version 1.87 können sie die meisten Einstellungen innerhalb der Applikation in den Globalen Einstellungen vornehmen (wie z.B. Site-Name, Administrator-Name usw.)
IE Cookies:
IE (6,7,und 8) unterstützt keinen Unterstrich (_) im Server-Hostnamen. Sollte dies der Fall sein, so werden Cookies nicht verarbeitet oder gesetzt. Setzen Sie also einen entsprechend anderen Hostnamen unter Apache oder IIS.
LimeSurvey und Suhosin ("Session has expired")
Sie könnten an einer Stelle eine Meldung bekommen wie:
ERROR
Es tut uns leid, aber Ihre Sitzung ist abgelaufen.
Entweder waren Sie zu lange inaktiv, Sie haben Cookies für Ihren Browser deaktiviert, oder es gab Probleme mit Ihrer Verbindung.</Code>
Und wenn Sie Suhosin auf Ihrem Server aktiviert haben, könnte das der Grund sein, warum Sie diese Meldeung während einer einer Umfrage gezeigt bekommen.
NB : when your survey is not active, the behaviour might be different, you could be redirected in the middle of a survey to the public list of surveys. The solution is the same.
Suhosin is an advanced protection system for PHP installations. Suhosin default configuration can make trouble to LimeSurvey installation.
First think to test with suhosin log, set suhosin.log.sapi = 511 and suhosin.simulation = on according with [http://www.hardened-php.net/suhosin/configuration.html 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 server for the parameters to be taken into account (service apache2 restart).
When the simulation is on, Suhosin is not blocking anything and the errors are reported into the logs (usually in your syslog : /var/log/syslog). If you appear to get error messages such as "ALERT-SIMULATION - configured POST variable limit exceeded" that's Suhosin alerting...
Diese Konfiguration scheint gut mit Limesurvey zu funktionieren:
<syntaxhighlight lang="php" enclose="div">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
Mit diesen Parametern sollten Sie in der Lage sein, die Einstellung suhosin.simulation zurück auf den "off" - Wert zu stellen (so dass der Server geschützt ist und LimeSurvey immer noch funktioniert).
Die Standardwerte von Suhosin funktionieren nicht gut mit LimeSurvey. Wenn Sie wirklich sicher gehen wollen, benutzen Sie den Suhosin Simulationsmodus um die Einstellung anzupassen und die richtigen Werte zwischen 1000 und 5000 für die vars und zwischen 1000000 und 5000000 für die value_lenghts zu finden.
LimeSurvey and suhosin ("quick translate trouble")
You can have some problem with the quick translate module when you are on OpenBSD 5.1 with php-5.3.10.
The symptom is : modification via "Quick translate --> options answer" are not update
You must downgrade your php version to php-5.2.17p8 and use the suhosin tweak proposed above.
Ich kann die Sprache nicht ändern!
Was auch immer sie versuchen, die Administrationssprache ist immer in Englisch. Normalerweise wird dies durch einen Fehler in Ihrer PHP-Version verursacht. Es gibt keinen andere Lösung, als Ihre PHP-Version zu aktualisieren.
Ein paar allgemeine Fehler (IIS-bezogen)
Index.php lässt sich nicht öffnen
Möglicher Grund: Dies kann passieren, wenn bestimmte PHP-Erweiterungen nicht installiert sind.
- Sie müssen die Multi-Byte string und MSSQL (oder MySQL) Erweiterung installieren
Möglicher Grund: ISAPI Filter nicht konfiguriert
- IN IIS müssen Sie für die entsprechende Site (dies ist möglich auf Verzeichnislevel) die Nutzung von php5isapi.dll aktivieren.
Index.php lässt sich nicht öffnen und "php.exe -i" zeigt Fehlermeldungen bzgl. fehlender DLLs.
Dies kann passieren wenn Sie zu viele Erweiterungen in PHP installiert haben.
- Wenn Sie alle PHP-Erweiterungen aktivieren, dann wird PHP nicht laufen, da nicht all Abhängigkeiten erfüllt werden (z.B. benötigen Oracle DB Treiber auch Oracle DLL's)
- Installieren Sie nur die Erweiterungen, die Sie benötigen.
- Zum Testen starten Sie "php.exe -i" von der Kommandozeile.
Nachricht bzgl. fehlender Datenbank
Dies kann passieren, wenn Sie die die falsche URL aufrufen.
- Stellen Sie sicher, dass Sie mit dem Browser limesurvey/admin/install/index.php öffnen statt nur limesurvey/index.php !
Obige Lösungen helfen nicht
Dies kann passieren, wenn Sie IIS nicht neu gestartet haben.
- Starten Sie IIS erneut durch
Dinge die man leicht vergisst:
- Die .php Erweiterung muss zum php5isapi.dll Filter zugeordnet sein (meist wird dies automatisch eingestellt)
- Das limesurvey/tmp Verzeichnis benötigt Schreibberechtigungen um Umfrage hochldaen zu können, etc.
- Anpassen von doc_root in der php.ini and von $rootdir in der config.php
Fehlende Dateien
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 receive error message at different part of LimeSurvey usage. Normally missing files throw errors like
"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"
Lösung
1. Löschen Sie alle hochgeladenen Dateien.
2. Laden Sie die Dateien erneut hoch.
(3. If necessary: Re-install by browsing to /limesurveyfolder/admin/install)
Not able to add or edit subquestions/answers after upgrade
If you're not capable of editing or adding a question, ask youre host provider to change the mod_security setting of the domain name. See the forum thread Not Able to Add or Edit Questions on new 1.90 for more info.
Fancy URLs by removing index.php from the URL path
If you want to use fancy URLs and so not have /index.php in every URL please edit /application/config/config.php and change
'showScriptName' => true,
zu
'showScriptName' => false,
Damit dies funktioniert, müssen Sie einen Apache-Webserver mit mod_rewrite-Modul korrekt installiert haben.
During survey taking
After submitting a page you end up at the general index page
There was an additional PHP setting introduced recently: 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 set this in your PHP configration (php.ini).