Baustelle.png Diese Seite muss überarbeitet werden. Greif zu!
Wenn du dich um diesen Artikel kümmern willst, dann kennzeichne das, indem du die Vorlage {{Überarbeiten}} durch die Vorlage {{ÜberarbeitenVergeben}} ersetzt.
Wenn du mit deiner Arbeit fertig bist, dann entferne die Vorlage aus dem Artikel.
Danke für deine Mitarbeit!

Fehler: Database connection failed

Wenn Sie die Fehlermeldung "database connection failed" oder "could not connect to the database you specified" erhalten, dann hat das verschiedene Ursachen und es gibt entsprechende Lösungen.

  • Ihr Datenbank-Server inst nicht richtig installiert oder läuft nicht. Um dies z.B. für den MySQL-Datenbank-Server zu prüfen, geben Sie auf der Kommandozeile folgendes ein:
  $telnet database_host_name 3306
Sie sollten eine Meldung bekommen, in der u.a. die Version des MySQL-Servers angezeigt wird.
  • Wenn Sie 2 Moodle-Instanzen auf verschiedenen Ports laufen haben, verwenden Sie in der Moodle-Konfigurationsdatei config.php in der Variablen $CFG->dbhost die IP-Adresse des Servers (nicht "localhost") und den Port:
  $CFG->dbhost = 127.0.0.1:3308.
  • Prüfen Sie, ob Sie die PHP-Erweiterungen für MySQL (oder PostgresSQL) installiert haben.
  • Sie haben keine Moodle-Datenbank und/oder keinen Moodle-Datenbanknutzer angelegt mit den passenden Rechten für den Zugriff auf die Moodle-Datenbank.
  • Die Moodle-Datenbank-Konfiguration in der Moodle-Konfigurationsdatei config.php ist nicht korrekt. Verwenden Sie phpMyAdmin, um die Konfiguration Ihrer Moodle-datenbank und des Moodle-Datenbanknutzers vorzunehemn und zu prüfen.
  • Stellen Sie sicher, dass im Moodle-Datenbanknamen und im Passwort keine Sonderzeichen verwendet werden.
  • Sie verwenden eine MySQL-Version 4.1 oder neuer, aber die PHP-Erweiterungen für MySQL sind älter als 4.1 (siehe PHP-Informationen). In diesem Fall funktioniert der Algorithmus zum Verschlüsseln von Passwörtern nicht. Verwenden Sie folgenden MySQL-Befehl, um die Passwörter auf das alte Verschlüsselungsformat zurückzusetzen:
mysql>SET PASSWORD FOR 'root'@'localhost' = OLD_PASSWORD('password');
mysql>SET PASSWORD FOR 'moodleuser'@'localhost' = OLD_PASSWORD('password');
Am besten Sie aktualisieren Ihre PHP-Erweiterungen für MySQL. Siehe MySQL Document für weitere Informationen.
  • Sie verwenden Fedora Core 3 oder ein anderes Linux-System mit installiertem und aktiviertem SELinux. Siehe SELinux deaktivieren. Wenn Sie SELinux nicht deaktivieren wollen, dann müssen Sie httpd-Prozessen erlauben, Netzwerk-Verbindungen aufzubauen:
setsebool httpd_can_network_connect true

  • Mac OSX: Wenn Sie MySQL unter Mac OSX laufen haben, dann probieren Sie, in der Moodle-Konfigurationsdatei config.php die Variable $CFG->dbhost' von localhost auf 127.0.0.1 zu ändern.

Siehe auch: MySQL-Seite Typische Fehler.

Ich kann mich nicht anmelden: Fehler "Please verify that the current setting of session.save_path is correct"

Dieser Fehler tritt auf, wenn PHP Probleme beim Speichern der Session-Dateien hat. Dann könnten auch folgende Fehlermeldungen auf Ihrem Bildschirm oder in Ihren Log-Dateien erscheinen:

Warning: Unknown: open(some-path/sessions/sess_acbf942a7399db3489ffa910e35d5242, O_RDWR)
failed: Permission denied (13) in Unknown on line 0
Warning: Unknown(): open(some-path/sessions/sess_acbf942a7399db3489ffa910e35d5242, O_RDWR) 
failed: No space left on device (28) in Unknown on line 0
Warning: Unknown: Failed to write session data (files). Please verify that the current 
setting of session.save_path is correct (some-path/sessions) in Unknown on line 0 

Dann ergänzen Sie (temporär) in der Moodle-Konfigurationsdatei config.php folgende Zeile:

$CFG->dbsessions = true;

Datenbank-Sessions können Ihre MySQL-Datenbank überlasten, sie eignen sich nicht für verteilte Umgebungen. Wenn die obige Ergänzung das Anmelde-Problem löst, dann sollten Sie folgendes tun:

  • Zugriffsrechte prüfen: Der Webserver-Nutzer muss auf den session.save_path zugreifen können. Das können Sie mit folgendem Befehl prüfen:
chown -R apache:apache moodledata/sessions
Hierbei setzen wir voraus, dass der Webserver-Nutzer apache heißt.
  • Setzen Sie die Rechte für dieses Verzeichnis zunächst auf 0777 (jeder darf lesen, schreiben und ausführen):
chmod -R 0777 some-path/sessions
Wenn dies das Problem löst, schränken Si die Zugriffsrechte ein (Empfehlung: 700).

Fehler: A server error that affects your login session was detected

Wenn Sie Ihren Browser neu starten und danach das Anmelden in Moodle nicht mehr funktioniert, dann lesen Sie diesen Diskussionsbeitrag im Kurs Using Moodle auf moodle.org (englisch).

Wenn Ihnen das auf der Community-Seite moodle.org passiert, dann kann es sein, dass Moodle gerade aktualisiert wird. Versuchen Sie es später noch einmal oder melden Sie das Problem im Bug-Tracker.

Fehler: Failed opening required '/web/moodle/lib/setup.php'

In der Moodle-Konfigurationsdatei config.php muss die Eintragung für die Variable $CFG->dirroot der vollständige Server-Pfad des Verzeichnisses sein, in dem Ihr Moodle installiert ist.

Manchmal werden dort fälschlicherweise relative Pfade eingetragen.

Fatal error: Parse error, call to undefined function: get_string()

Wenn Sie solche Fehlermeldungen sehen:

Parse error: parse error, unexpected T_VARIABLE in /path/to/moodle/config.php on line 94 
Fatal error: Call to undefined function: get_string() in /path/to/moodle/mod/resource/lib.php on line 11

dann haben Sie vermutlich in der Moodle-Konfigurationsdatei config.php ein Semikolon oder schließende Anführungszeichen vergessen (vor Zeile 94).

Eine andere Möglichkeit könnte sein, dass Sie die Konfigurationsdatei in einem Textverarbeitungsprogramm, wie z.B. MS Word editiert haben und als HTMl-Seite gespeichert haben. Verwenden Sie stattdessen einen einfachen Text-Editor, wie z.B. Notepad.

Wenn Sie zusätzliche Plugins verwenden, prüfen Sie, ob die zugehörigen PHP-Skripte evtl. Abkürzungen wie <? ?> anstelle von <?php ?> verwenden. Informieren Sie in diesem Fall die zuständigen Entwickler/innen über das Problem. Ersetzen Sie dann die Abkürzungen durch die normalen Tags oder ergänzen Sie in der PHP-Konfigurationsdatei php.ini folgende Zeile:

short_open_tag = On

Im Kernpaket von Moodle werden Sie normalerweise keine Abkürzungen finden. Falls dies doch der Fall sein sollte, erstellen Sie bitte einen Eintrag im Bug-Tracker.

Wenn ich auf die Admin-Seite gehe, steht dort, dass ich das dirroot-Verzeichnis ändern soll!

Wenn Sie folgende Fehlermeldung sehen:

Please fix your settings in config.php: 
You have: $CFG->dirroot = "/home/users/fred/public_html/moodle"; 
but it should be: $CFG->dirroot = "";

dann ist das ein kleiner Fehler, der auf manchen Servern auftritt. Das Problem liegt an der Art, wie Moodle Fehler behandelt, nicht am Verzeichnis selbst.

Zur Behebung des Problems, gehen Sie in der Datei moodle/admin/index.php zur Zeile 66:

if ($dirroot != $CFG->dirroot) {

und ändern Sie diese wie folgt:

if (!empty($dirroot) and $dirroot != $CFG->dirroot) {

Warum bekomme ich ständig die Fehlermeldung "headers already sent"?

Wenn Sie solche Fehlermeldungen sehen:

Warning: Cannot add header information - headers already sent by 
(output started at /webs/moodle/config.php:87) in /webs/moodle/lib/moodlelib.php 
on line 1322 
Warning: Cannot add header information - headers already sent by 
(output started at /webs/moodle/config.php:87) in /webs/moodle/lib/moodlelib.php 
on line 1323 
Warning: Cannot add header information - headers already sent by 
(output started at /webs/moodle/config.php:87) in /webs/moodle/login/index.php 
on line 54

dann haben Sie Leerzeichen oder Leerzeilen nach dem ?> in Ihrer Moodle-Konfigurationsdatei config.php file. Manche Text-Editoren fügen diese Leerzeichen / Leerzeilen automatisch ein, z.B. Notepad unter Windows. Sie müssen diese Leerzeichen / Leerzeilen löschen.

Fehler: "500:Internal Server Error"

Es gibt verschiedene Ursachen für diesen Fehler. Prüfen Sie als erstes die Fehler-Logdateien Ihres Webservers, die evtl. detailliertere Informationen enthalten.

Ursachen könnten sein: 1. Syntaxfehler: Ihre .htaccess oder httpd.conf Konfigurationsdateien enthalten einen Syntaxfehler. Wie Sie Befehle schreiben müssen hängt davon ab, welche Konfigurationsdatei Sie verwenden, siehe auch differs diese Dokumentation. Sie können Konfigurationsfehler in Ihren Apache-Konfigurationsdateien mit folgendem Befehl testen:

#apachectl configtest

2. PHPsuexec: Ihr Server unterstützt keine .htaccess Dateien, wenn Sie PHPsuexec verwenden. Das ist ein Apache-Modul, das zur Erhöhung der Sicherheit verwendet wird. In diesem Fall:

  • können Sie auch diesen Fehler sehen: 403: Forbidden error
  • läuft der Webserver unter Ihrem eigenen Nutzernamen und alle Dateien haben die Rechte 755. Prüfen Sie, ob diese Rechte für Ihr Moodle-Verzeichnis gesetzt sind und ändern Sie das bei Bedarf:
#chmod -R 755 moodle
  • verwenden Sie statt einer .htaccess eine PHP-Konfigurationsdatei php.ini im Moodle-Verzeichnis. Wenn Sie z.B. eine Fehlermeldung zum Speicherbedarf (memory exhausted error) erhalten, wenn Ihr Server die Datei moodle/admin/cron.php aufruft, dann erstellen Sie eine php.ini Datei im Verezeichnis moodle/admin und erhöhen Sie in dieser Datei den Wert der PHP-Variablen memory_limit. Wenn Sie php5 verwenden, prüfen Sie, ob Ihr Server solche benutzerdefinierten ##php.ini Dateien unterstützt. Die Syntax in einer php.ini Datei unterscheidet sich von der Syntax in einer .htaccess, z.B.:
php_value memory_limit 128M  (.htaccess)
memory_limit = 128M          (php.ini)

3. Incompatible directive: Sie verwenden einen Befehl in der Datei .htaccess oder httpd.conf, der nicht kompatibel mit Ihrer Webserver-Version ist. Lesen Sie die Webserver-Dokumentation.

Fehler: "403: Forbidden"

Prüfen Sie Ihre Webserver-Konfiguration. Siehe auch Abschnitt "500:Internal Server Error" weiter oben.

Fehler: Fatal error allowed memory size exhausted. Wie erhöhe ich den PHP-Speicher?

Wenn Sie folgende Fehlermeldung sehen:

Fatal error: Allowed memory size of 67108864 bytes exhausted 
(tried to allocate xx bytes) in /var/www/moodle/yyyy.php

dann bedeutet das, dass der Wert Ihrer PHP-Variablen memory_limit zu klein ist. In der Fehlermeldung oben ist der erlaubte Wert 67108864 Bytes / 1024 = 65536 KB. 65536 KB / 1024 = 64 MB. In diesem Fall müssen Sie den wert der Variablen erhöhen. Dafür gibt es zwei Möglichkeiten:

  • Wenden Sie sich an Ihren Moodle-Server-Administrator. Wenn auf Ihrem Server .htaccess Dateien erlaubt sind, dann ergänzen Sie in dieser Datei folgendes (falls eine solche Datei im Moodle-Verzeichnis nicht existiert, dann erstellen Sie diese):

ergänzen Sie in dieser Datei files. If yours does, add the following line to your .htaccess file (or create one in the moodle directory if it does not already exist):

php_value memory_limit <value>M
Beispiel: php_value memory_limit 40M
  • Wenn Sie Shell-Zugriff auf den Moodle-Server haben, bearbeiten Sie die PHP-Konfigurationsdatei php.ini wie folgt:
memory_limit <value>M
Beispiel: memory_limit 40M
  • In aktuellen Moodle-Versionen kann ein Wert von 512M nötig sein, damit alle Funktionalitäten korrekt funktionieren (insbesondere benötigen das Sichern und Wiederherstellen von Kursen viel Speicher). Es ist sinnvoll, den Speicherverbrauch zu beobachten, wenn Sie so große Werte verwenden.

Beachten Sie, dass Sie den Webserver neu starten müssen, wenn Sie Änderungen in der php.ini Datei vornehemn

Alternativ können Sie die Variable mit folgendem Befehl deaktivieren:

 memory_limit 0

Fehler: "Your session has timed out. Please login again." oder "The page isn't redirecting properly" oder "This webpage has a redirect loop"

Ergreifen Sie eine/alle folgenden Maßnahmen:

  • Löschen Sie manuell die Cookies in Ihrem Browser und schließen Sie den Browser. Rufen Sie dann Ihre Moodle-Site erneut im Browser auf.
  • Prüfen Sie, ob der Webserver-Nutzer Schreibrechte im Verzeichnis moodledata/sessions hat. Wenn Sie auf Moodle zugreifen, sollte in diesem Verzeichnis eine neue Datei angelegt werden.
  • Wenn Sie zwei Versionen von Moodle auf demselben Server betreiben, setzen Sie ein Cookie-Prefix auf der Seite Einstellungen > Webserver-Administration > Server > Sitzungsinformation.

Weitere Lösungsvorschläge finden Sie im Diskussionsbeitrag Your session has timed out. Please login again im Kurs Using Moodle auf moodle.org:

Fehler während des Installationsprozesses: ERR_TOO_MANY_REDIRECTS

  • You will need to edit the moodle\admin\index.php file with a file editor such as Notepad++. Do not use MS-Word!
  • Search for a line that has:
redirect("index.php?sessionstarted=1&lang=$CFG->lang");
  • and add two inverted slashes to comment it out like this:
//redirect("index.php?sessionstarted=1&lang=$CFG->lang");
  • and try to continue with the installation from your browser.

Fehler während des Installationsprozesses: Maximum execution time of 30 seconds exceeded in...

  • Ihr Server braucht zu lange, um das Installationsskript auszuführen.
  • Drücken Sie die F5-Taste (Refresh) bis der Installationsprozess beendet ist.

Error when installing: The connection was reset/This site can't be reached

Install ERROR This site cant be reached.png

Did you install or upgrade Skype ?

  • Skype uses the same port (80) as Moodle.
  • Remove Skype.
  • Restart Windows.
  • Install Moodle and
  • Re-install Skype.

Check the PC with a good antivirus

  • Be very cautious when choosing a free/paid Windows antivirus.
  • Good places to look for are old, reliable, solid PC magazines and old, reliable, solid PC blogs.
  • Beware of many malicious malware programs posing as antivirus solutions!
  • It may be worth asking your local IT expert, or Google for any chosen solution, before installing it.

Increase the time allowed for running scripts in Moodle

Localhost connection was restarted.png

  • Click 'Stop Moodle.exe'
  • Edit (use Notepad++ or other simple text editor; do NOT use MS-Word) the file server/php/php.ini and increase the number in the line that states max_execution_time = :

Edit max execution time.png

  • Increase the value to, let's say, 10 minutes (600 seconds):

Edit max execution time to 600.png

  • Click 'Start Moodle.exe'
  • Check if the problem was solved; if not, continue reading below.

Check if you need to increase Apache’s default stack size

  • This problem has has been described in Windows 7 PCs and laptops with Moodle 3.4, 3.5 and 3.6 Moodle for Windows complete install packages.
  • If you check the error.log file at server/apache/logs/error.log and you find a line with
child process XXXX exited with status 3221226356 -- Restarting. 
    • (where XXXX is a number, any number)

child process XXXX exited with status 3221226356.png

  • you may have a problem that often happens in Windows because of smaller Apache’s default stack size. And it usually happens when working with php code that allocates a lot of stacks.
  • To solve this issue, use a text editor (such as Notepad++, DO NOT USE MS-WORD) to add the following three lines at the end of apache config file (../server/apache/conf/httpd.conf) :
<IfModule mpm_winnt_module>
  ThreadStackSize 8888888
</IfModule>
  • AND restart apache.

Do you have Google Drive?

Wie kann ich einen Fehler im Code beheben, ohne die gesamte Moodle-Site zu aktualisieren?

Nehmen wir folgendes an:

  • Ihr Moodle läuft unter einer älteren Version.
  • Bei Ihnen tritt ein bestimmter Fehler auf.
  • Sie haben diesen Fehler als MDL-XXX im [http//tracker.moodle.org/ Bug-Tracker] gefunden und lesen dort, dass der Fehler in der neuesten Moodle-Version behoben wurde.
  • Aus bestimmten Gründen können Sie nicht die gesamte Moodle-Site aktualisieren.

Wenn Sie in der Lage sind, den Code manuell zu korrigieren, finden Sie evtl. passende Informationen im Bugtracker-Eintrag. Siehe auch diese Anleitung (englisch).

Hinweis: Wir empfehlen jedoch immer, die gesamte Moodle-Site zu aktualisieren, da in der neuen Version zusätzlich bekannte Sicherheitslücken geschlossen sind.

Siehe auch