Hinweis: Sie sind auf den Seiten der Moodle 3.3 Dokumentation. Die Dokumentation der aktuellsten Moodle-Version finden Sie hier: PHP.

PHP

Aus MoodleDocs
Wechseln zu:Navigation, Suche


PHP ist eine Skriptsprache, in der Moodle entwickelt und implementiert ist. Sie ist im Webserver integriert. Der Webserver entdeckt PHP-Seiten (an der Erweiterung *.php) und schickt sie zur Ausführung an PHP. PHP muss installiert und richtig konfiguriert sein, damit Moodle vernünftig laufen kann.

PHP-Einstellungen

Moodle braucht eine Menge an PHP-Einstellungen damit es richtig arbeitet. Bei den meisten Servern sind das bereits die Standardeinstellungen. Aber manche PHP-Server (bzw. manche PHP-Versionen) haben andere Einstellungen in der Konfigurationsdatei (gewöhnlich in der Datei php.ini).

Anmerkung: Für die einzelnen Einstellungen können Sie "ON" bzw. "1" verwenden (d.h. aktiviert/eingeschaltet) oder "OFF" bzw. "0" (d.h. deaktiviert/ausgeschaltet).

  • register_globals muss deaktiviert sein
  • safe_mode sollte deaktiviert sein
  • memory_limit sollte mindestens 40M sein, 128M ist empfohlen, große Systeme können sogar einen noch größeren Wert erfordern
  • session.save_handler sollte auf FILES gesetzt sein
  • magic_quotes_gpc sollte deaktiviert sein
  • magic_quotes_runtime sollte deaktiviert sein
  • file_uploads sollte aktiviert sein
  • session.auto_start sollte deaktiviert sein
  • session.bug_compat_warn sollte deaktiviert sein
  • Das /temp Verzeichnis sollte dem Webservernutzer gehören und für ihn schreibbar sein
  • Wählen Sie für Ihren Server geeignete Einstellungen im Abschnitt error display/logging
  • post_max_size und upload_max_filesize begrenzen die maximale Größe von Dateien, die hochgeladen werden können
  • Prüfen Sie die Einstellungen in den Abschnitten [mail function] und database.

Die richtige php.ini Datei finden

Manchmal ist es nicht einfach, die PHP-Konfigurationsdatei php.ini zu finden, manchmal gibt es auf dem Server sogar mehrere solche Dateien. Wenn Sie die PHP-Einstellungen prüfen wollen, gehen Sie in Moodle auf die Seite Einstellungen > Website-Administration > Server > PHP-Informationen. Der Pfad zur php.ini Datei ist im Abschnitt Configure Command angezeigt.

Wenn Sie den Cron-Job von Kommandozeile starten, können die PHP-Einstellungen in einer anderen php.ini Datei liegen. Zur Prüfung nutzen Sie das folgende Kommando:

   php -i | grep php.ini

PHP-Erweiterungen und PHP-Bibliotheken

Folgende PHP-Erweiterungen und PHP-Bibliotheken werden für die verschiedenen Moodle-Versionen benötigt bzw. empfohlen:

  • iconv - erforderlich
  • mbstring - empfohlen
  • curl - erforderlich für Netzwerk und Webservices
  • openssl empfohlen (erforderlich für Netzwerk und Webservices)
  • tokenizer - empfohlen
  • xmlrpc - empfohlen (erforderlich für Netzwerk und Webservices)
  • soap - empfohlen (erforderlich für Webservices)
  • ctype - erforderlich
  • zip - erforderlich
  • gd - empfohlen (erforderlich für die Manipulation von Grafiken)
  • simplexml - erforderlich
  • spl - erforderlich
  • pcre - erforderlich
  • dom - erforderlich
  • xml - erforderlich
  • intl - empfohlen
  • json - erforderlich
  • geeignete Erweiterung für Ihren Datenbanktyp - erforderlich, z.B. mysql für den MySQL-Datenbankserver oder pgsql für den PostgreSQL-Datenbankserver
  • Weitere PHP-Erweiterungen werden möglicherweise für die optionale Unterstützung spezieller Moodle-Funktionalitäten benötigt, z.B. für die Authentifizierung über einen LDAP-Server und/oder die Kurseinschreibung oder Socket-Erweiterung für Chat-Server.

Fehlende PHP-Erweiterungen installieren

Wie Sie fehlende PHP-Erweiterungen auf Ihrem Server installieren hängt davon ab, wie PHP auf Ihre Maschine installiert ist und welchen Zugriff Sie auf den Server haben. Hier sind einige Möglichkeiten:

  • Wenn Ihr Server gehostet wird, wenden Sie sich an den Provider bzw. den zuständigen Administrator.
  • Wenn PHP aus dem Quellcode compiliert wurde, müssen Sie recompilieren mit den entsprechenden configure Einstellungen
  • Wenn PHP als Paket installiert wurde (typischerweise unter Linux), installieren Sie die zusätzlichen Pakete mit den entsprechenden Kommandos der Linux-Distribution (z.B. apt-get install, yum install)
  • Wenn Sie einen Windowsserver nutzen, entfernen Sie die Auskommentierung der jeweiligen DLL Bibliotheken in der php.ini Datei.

.htaccess Dateien

Wenn Sie keinen Zugriff auf die php.ini Datei haben oder die obigen Anforderungen mit den PHP-Einstellungen für andere PHP-Anwendungen auf demselben Server kollidieren, dann können Sie die PHP-Einstellungen für Moodle auch in einer .htaccess Datei eintragen und diese Datei ins Wurzelverzeichnis der Moodle-Installation legen (dort wo auch die Moodle-Konfigurationsdatei config.php liegt).

Diese Datei heißt nicht immer .htaccess und manchmal funktioniert sie auch gar nicht. Bei Problemen wenden Sie sich an den Server-Administrator.

Die Eintragungen können in zwei Formen erfolgen:

  • php_value name value
  • php_flag name on/off

Beispiele:

  • php_value memory_limit 128M
  • php_flag register_globals off

Siehe auch