Fehler FAQ: Unterschied zwischen den Versionen

Aus MoodleDocs
Wechseln zu:Navigation, Suche
Keine Bearbeitungszusammenfassung
 
(22 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Zum Übersetzen}}
{{Moodle administrieren}}
{{Moodle administrieren}}
==Fehler: Database connection failed==
==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.
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.
Zeile 71: Zeile 69:


  Parse error: parse error, unexpected T_VARIABLE in /path/to/moodle/config.php on line 94  
  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
  Fatal error: Call to undefined function: get_string() in /path/to/moodle/mod/resource/lib.php on line 11
on line 11


dann haben Sie vermutlich in der [[Moodle-Konfigurationsdatei]] ''config.php'' ein Semikolon oder schließende Anführungszeichen vergessen (vor Zeile 94).
dann haben Sie vermutlich in der [[Moodle-Konfigurationsdatei]] ''config.php'' ein Semikolon oder schließende Anführungszeichen vergessen (vor Zeile 94).
Zeile 84: Zeile 81:
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]].
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]].


==When I go to the admin page, I get told to make dirroot blank!==
==Wenn ich auf die Admin-Seite gehe, steht dort, dass ich das dirroot-Verzeichnis ändern soll!==


If you see errors like this:
Wenn Sie folgende Fehlermeldung sehen:


  Please fix your settings in config.php:  
  Please fix your settings in config.php:  
Zeile 92: Zeile 89:
  but it should be: $CFG->dirroot = "";
  but it should be: $CFG->dirroot = "";


then you have encountered a small bug that occurs on some servers. The problem is with the error-checking mechanism, not with your actual path. To fix it, find this line (line 66) in the file ''admin/index.php'':
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) {
  if ($dirroot != $CFG->dirroot) {


and change it to this:
und ändern Sie diese wie folgt:


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


==Why do I keep getting error messages about "headers already sent"?==
==Warum bekomme ich ständig die Fehlermeldung "headers already sent"?==
 
Wenn Sie solche Fehlermeldungen sehen:
If you see errors like this:


  Warning: Cannot add header information - headers already sent by  
  Warning: Cannot add header information - headers already sent by  
Zeile 116: Zeile 114:
  on line 54
  on line 54


you have blank lines or spaces after the final <code>?></code> in your ''config.php'' file. Sometimes text editors add these - for example Notepad on Windows - so you may have to try a different text editor to remove these spaces or blank lines completely.
dann haben Sie Leerzeichen oder Leerzeilen nach dem <code>?></code> 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"==
==Fehler: "500:Internal Server Error"==
There are several possible causes for this error. It is a good idea to start by checking your web server error log which should have a more comprehensive explanation. However, here are some known possibilities....
Es gibt verschiedene Ursachen für diesen Fehler. Prüfen Sie als erstes die Fehler-Logdateien Ihres Webservers, die evtl. detailliertere Informationen enthalten.


1. '''Syntax error''': There is a syntax error in your .htaccess or httpd.conf files. The way in which directives are written [http://httpd.apache.org/docs/1.3/howto/htaccess.html#when differs] depending on which file you are using. You can test for configuration errors in your Apache files using the command:
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 [http://httpd.apache.org/docs/1.3/howto/htaccess.html#when differs diese Dokumentation]. Sie können Konfigurationsfehler in Ihren Apache-Konfigurationsdateien mit folgendem Befehl testen:
  #apachectl configtest
  #apachectl configtest


2. '''PHPsuexec''': Your server does not support .htaccess files, especially if it is running PHPsuexec, which is an Apache module used for increasing the security of a site on a hosted system. In this situation:
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: <code>403: Forbidden error</code>
- you may also see a 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:
 
- the webserver executes under your own username and all files have a maximum permissions level of 755. Check that this is set for your Moodle directory in your control panel or (if you have access to the shell) use this command:
  #chmod -R 755 moodle
  #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 <code>memory_limit</code>. 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'')


- use a PHP.INI file instead of a .htaccess in the directory where the Moodle PHP script is being executed. For example: if you are receiving a memory exhausted error when your server is executing the file moodle/admin/cron.php, use a PHP.INI file to change your memory_limit and copy it to the moodle/admin directory. Remember that for PHP4, PHP.INI files are per-directory, so you'll need to copy it to each sub-directory. If you are using PHP5 or higher on a shared host, check with your host on whether they support custom PHP.INI files, and how to create them. The syntax used in a PHP.INI file is different from a .htaccess file and you need to take out php_value/php_flag at the beginning of the line and use an equals sign to assign a value, e.g.
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.
php_value memory_limit 128M <-- .htaccess
memory_limit = 128M        <-- php.ini equivalent
 
3. '''Incompatible directive''': You may have a directive in your .htaccess or httpd.conf files which are not compatible with your web server version. Check your webserver documentation.


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


Check your webserver configuration. See also the section above "500:Internal Server Error".
==Fehler: Fatal error allowed memory size exhausted. Wie erhöhe ich den PHP-Speicher?==
 
Wenn Sie folgende Fehlermeldung sehen:
==Fatal error allowed memory size exhausted. How do I increase my php memory limit?==
You will sometimes see an error message something like this:
  Fatal error: Allowed memory size of 67108864 bytes exhausted  
  Fatal error: Allowed memory size of 67108864 bytes exhausted  
  (tried to allocate xx bytes) in /var/www/moodle/yyyy.php
  (tried to allocate xx bytes) in /var/www/moodle/yyyy.php
This error means that the php memory_limit value is not enough for the php script. The memory_limit value is the "allowed memory size" - 64M in the example above (67108864 bytes / 1024 = 65536 KB. 65536 KB / 1024 = 64 MB). You will need to increase the php memory_limit value until this message is not shown anymore. There are two methods of doing this.
dann bedeutet das, dass der Wert Ihrer PHP-Variablen <code>memory_limit</code> 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:
*On a hosted installation you should ask your host's support how to do this. However, many allow .htaccess 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):
*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
  php_value memory_limit <value>M
  Example: php_value memory_limit 40M
  Beispiel: php_value memory_limit 40M
*If you have your own server with shell access, edit your php.ini file (make sure it's the correct one by checking in your phpinfo output) as follows:
*Wenn Sie Shell-Zugriff auf den Moodle-Server haben, bearbeiten Sie die PHP-Konfigurationsdatei ''php.ini'' wie folgt:
  memory_limit <value>M
  memory_limit <value>M
  Example: memory_limit 40M
  Beispiel: memory_limit 40M
* For later versions of Moodle you could be looking at figures in the region of 512M for all functions to work properly (backup and restore are particularly memory hungry). It is sensible to monitor the memory usage on your server if using these large settings.
* 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.
Remember that you need to restart your web server to make changes to php.ini effective. An alternative is to disable the memory_limit by using the command ''memory_limit 0''.
 
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"==


==Fehler: "Your session has timed out. Please login again." or "The page isn't redirecting properly" or "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-Block|Einstellungen]] > Webserver-Administration > Server > Sitzungsinformation''.


Please do one/all of the following:
Weitere Lösungsvorschläge finden Sie im Diskussionsbeitrag [http://moodle.org/mod/forum/discuss.php?d=46580 Your session has timed out. Please login again] im Kurs ''Using Moodle'' auf moodle.org:
* Try deleting cookies manually from your browser and close it down, then access your site again. Sometimes this clears up the problem.
* Gehen Sie auf die Seite http://IhreMoodleSite/admin/purgecaches.php und klicken Sie dort den Button ''Cache löschen''.
* Check that your ''moodledata/sessions'' directory has write permissions. When you access Moodle a new file should be created there.
* Löschen Sie auf dem Moodle-Server im Moodle-Datenverzeichnis ''moodledata/cache'' alle Dateien.
* If you are running two versions of Moodle on the same computer, set a cookie prefix in ''Administration > Server > [[Session handling]]''.


The discussion [http://moodle.org/mod/forum/discuss.php?d=46580 Your session has timed out. Please login again] has further suggested solutions:
==Fehler während des Installationsprozesses: ERR_TOO_MANY_REDIRECTS==
* Browse to: http://yoursite/subdir/admin/purgecaches.php , it should prompt you to login first and then redirect to a page that has a button to purge all caches.
*Sie müssen die Datei ''moodle/admin/index.php'' mit einem Texteditor, z.B. [https://notepad-plus-plus.org/ Notepad++] bearbeiten. Verwenden Sie nicht MS-Word!
* If you can access your server files, go to the 'moodledata' folder, go to the 'cache' folder inside and erase all the contents there (usually only two files). Moodle will delete the frozen session with the redirect loop and Moodle will work again.
*Suchen Sie nach dieser Zeile:
redirect("index.php?sessionstarted=1&lang=$CFG->lang");
*Kommentieren Sie diese Zeile aus, indem Sie ihr '''//''' voranstellen:
//redirect("index.php?sessionstarted=1&lang=$CFG->lang");
*Versuchen Sie, die Installation im Browser fortzusetzen.


==Fehler: Maximum execution time of 30 seconds exceeded in...(when installing)==
==Fehler während des Installationsprozesses: Maximum execution time of 30 seconds exceeded in...==
* Your computer is taking too much time to execute the installation scripts.
* Ihr Server braucht zu lange, um das Installationsskript auszuführen.
* Press F5 (refresh) until it finishes the installation process.
* Drücken Sie die F5-Taste (Refresh) bis der Installationsprozess beendet ist.
* Oder bearbeiten Sie die PHP-Konfigurationsdatei ''php.ini'' auf Ihrem Server mit einem Texteditor wie z.B. [https://notepad-plus-plus.org/ Notepad++]. Verwenden Sie nicht MS-Word!
** Suchen Sie nach folgender Zeile:
max_execution_time = 30
** Ersetzen Sie die 30 (Sekunden) durch eine größere Zahl, z.B. 600 (Sekunden):
max_execution_time = 600
** Speichern Sie die Datei und starten Sie den Webserver neu.


==How can I fix just one bug, without upgrading my whole site?==
==Fehler bei der Installation: The connection was reset/This site can't be reached==
[[File:Install ERROR This site cant be reached.png|300px]]


Suppose:
===Haben Sie Skype installiert oder aktualisiert?===
* You are running an older Moodle version.
* You are experiencing a particular bug.
* You have searched in the [http://tracker.moodle.org/ tracker], and found that your problem is MDL-abc, and that it has been fixed in the latest version.
* For some reason, you cannot upgrade your whole site, even though the latest version probably has security fixes.


Then, how can you get the fix for just this one bug, without upgrading your whole site? Well, if you are prepared to manually patch the code, you can probably get this information from the tracker. Please see [[How to fix just one bug without upgrading|this guide]].
* Skype verwendet denselben Port (80) wie Moodle.  
* Löschen Sie Skype.
* Starten Sie Windows neu.
* Installieren Sie Moodle.
* Installieren Sie Skype neu.


==error/moodle/cannot finish ui if not setting ui==
===Prüfen Sie den PC mit einem guten Antivirus-Programm===
An occasionally reported intermittent error that may or may not be related to the php ini value of max_execution_time. So far proven intractable, as it has not been found to have a consistent cause and cannot be consistently duplicated.  
* Seien Sie vorsichtig bei der Wahl eines freien oder kostenpflichtigen Antivirus-Programms für Windows.
* Gute Quellen für solche Programme sind [https://www.pcmag.com/article2/0,2817,2372364,00.asp etablierte, vertrauenswürdige, solide PC Magazine] und [https://www.tomsguide.com/us/best-antivirus,review-2588-5.html etablierte, vertrauenswürdige, solide PC Blogs].
* Nehmen Sie sich in Acht vor den vielen bösartigen Malware Programmen, die sich als Antivirus Lösungen ausgeben!
* Fragen Sie Ihre IT-Experten vor Ort oder Google bevor Sie eine Software installieren.


===Erhöhen Sie die Zeit zur Ausführung von Skripten in Moodle===
[[File:Localhost connection was restarted.png|400px]]
* Klicken Sie auf ''Stop Moodle.exe''
* Öffnen Sie die PHP-Konfigurationsdatei ''server/phpphp.ini'' (verwenden Sie einen einfachen Texteditor wie [https://notepad-plus-plus.org/ Notepad++], '''NICHT''' MS-Word) und erhöhen Sie dort den Wert von <code>max_execution_time</code>.
[[File:Edit max_execution_time.png|400px]]
* Setzen Sie den Wert auf z.B. 10 Minuten (600 Sekunden):
[[File:Edit max_execution_time to 600.png|400px]]
* Klicken Sie auf ''Start Moodle.exe''
* Wenn das Problem nicht gelöst ist, lesen Sie unten weiter.
===Prüfen Sie, ob die Stackgröße von Apache erhöht werden muss===
* Dieses Problem wurde unter Windows 7 PCs und Laptops mit Moodle 3.4, 3.5 und 3.6 [https://download.moodle.org/windows/ Moodle-Installationspaket für Windows] beschrieben.
* Prüfen Sie, ob Sie in den Fehler-Logdaten unter ''server/apache/logs/error.log'' eine solche Zeile finden (wobei XXXX eine Zahl ist)
child process XXXX exited with status 3221226356 -- Restarting.
[[File:child process XXXX exited with status 3221226356.png|400px]]
* Wenn das der Fall ist, dann haben Sie ein Problem, dass häufig unter Windows auftritt, nämlich dass der [https://stackoverflow.com/questions/1138269/apache-error-notice-parent-child-process-exited-with-status-3221225477-res/34452918#34452918 Stack von Apache] zu klein ist. Das Problem tritt in Zusammenhang mit PHP-Code auf, der viel Stack verbraucht.
* Um das Problem zu beheben, öffnen Sie die Apache-Konfigurationsdatei ''server/apache/conf/httpd.conf'' in einem einfachen Texteditor wie [https://notepad-plus-plus.org/ Notepad++], '''NICHT''' in MS-WORD und fügen Sie folgende Zeilen am Ende der Datei hinzu:
<IfModule mpm_winnt_module>
  ThreadStackSize 8888888
</IfModule>
* Starten Sie Apache neu.
===Verwenden Sie Google Drive?===
* Einige Programme, wie z.B. Google Drive können einen Heap Corruption Fehler verursachen, siehe [https://stackoverflow.com/questions/18039562/parent-child-process-exited-with-status-3221226356-restarting?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa Heap corruption (STATUS_HEAP_CORRUPTION)].
* Installieren Sie die neueste Version von Apache (XAMPP).
==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 [[:en:How to fix just one bug without upgrading|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==
==Siehe auch==
Zeile 192: Zeile 254:


[[en:Errors FAQ]]
[[en:Errors FAQ]]
 
[[es:Errores FAQ]]
[[Category:ToDo]]

Aktuelle Version vom 27. März 2019, 09:03 Uhr

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

  • Sie müssen die Datei moodle/admin/index.php mit einem Texteditor, z.B. Notepad++ bearbeiten. Verwenden Sie nicht MS-Word!
  • Suchen Sie nach dieser Zeile:
redirect("index.php?sessionstarted=1&lang=$CFG->lang");
  • Kommentieren Sie diese Zeile aus, indem Sie ihr // voranstellen:
//redirect("index.php?sessionstarted=1&lang=$CFG->lang");
  • Versuchen Sie, die Installation im Browser fortzusetzen.

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.
  • Oder bearbeiten Sie die PHP-Konfigurationsdatei php.ini auf Ihrem Server mit einem Texteditor wie z.B. Notepad++. Verwenden Sie nicht MS-Word!
    • Suchen Sie nach folgender Zeile:
max_execution_time = 30
    • Ersetzen Sie die 30 (Sekunden) durch eine größere Zahl, z.B. 600 (Sekunden):
max_execution_time = 600
    • Speichern Sie die Datei und starten Sie den Webserver neu.

Fehler bei der Installation: The connection was reset/This site can't be reached

Install ERROR This site cant be reached.png

Haben Sie Skype installiert oder aktualisiert?

  • Skype verwendet denselben Port (80) wie Moodle.
  • Löschen Sie Skype.
  • Starten Sie Windows neu.
  • Installieren Sie Moodle.
  • Installieren Sie Skype neu.

Prüfen Sie den PC mit einem guten Antivirus-Programm

Erhöhen Sie die Zeit zur Ausführung von Skripten in Moodle

Localhost connection was restarted.png

  • Klicken Sie auf Stop Moodle.exe
  • Öffnen Sie die PHP-Konfigurationsdatei server/phpphp.ini (verwenden Sie einen einfachen Texteditor wie Notepad++, NICHT MS-Word) und erhöhen Sie dort den Wert von max_execution_time.

Edit max execution time.png

  • Setzen Sie den Wert auf z.B. 10 Minuten (600 Sekunden):

Edit max execution time to 600.png

  • Klicken Sie auf Start Moodle.exe
  • Wenn das Problem nicht gelöst ist, lesen Sie unten weiter.

Prüfen Sie, ob die Stackgröße von Apache erhöht werden muss

  • Dieses Problem wurde unter Windows 7 PCs und Laptops mit Moodle 3.4, 3.5 und 3.6 Moodle-Installationspaket für Windows beschrieben.
  • Prüfen Sie, ob Sie in den Fehler-Logdaten unter server/apache/logs/error.log eine solche Zeile finden (wobei XXXX eine Zahl ist)
child process XXXX exited with status 3221226356 -- Restarting. 

child process XXXX exited with status 3221226356.png

  • Wenn das der Fall ist, dann haben Sie ein Problem, dass häufig unter Windows auftritt, nämlich dass der Stack von Apache zu klein ist. Das Problem tritt in Zusammenhang mit PHP-Code auf, der viel Stack verbraucht.
  • Um das Problem zu beheben, öffnen Sie die Apache-Konfigurationsdatei server/apache/conf/httpd.conf in einem einfachen Texteditor wie Notepad++, NICHT in MS-WORD und fügen Sie folgende Zeilen am Ende der Datei hinzu:
<IfModule mpm_winnt_module>
  ThreadStackSize 8888888
</IfModule>
  • Starten Sie Apache neu.

Verwenden Sie 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