Table of Contents

Einstellungen

Vorwort

PHP bietet über seine Konfigurationsdatei php.ini die Möglichkeit viele Dinge zu konfigurieren. Einige Einstellungen helfen bei der Entwicklung, andere Einstellungen sollte man setzen, um Probleme beim Anwender im Vorhinein auszuschließen, bei denen diese Einstellung evtl. auch vom Hoster gesetzt wurde.

Sinnvolle PHP-Einstellungen

register_globals = off

Diese Einstellung bewirkt, dass übergebene Parameter nicht direkt als Variablen zur Verfügung stehen, sondern nur über die Arrays $_GET oder $_POST angesprochen werden können. Normalerweise sollte diese Variable schon auf off stehen. Ab PHP6 gibt es diese Einstellung nicht mehr.

error_reporting = E_ALL

In den meisten Fällen ist dies schon gesetzt und man muss nur noch den Zusatz & ~E_NOTICE entfernen. Dies führt dazu, dass nun auch Warnings ausgegeben werden, wenn z.B. eine Variable benutzt wird, die vorher noch nicht definiert war. Somit führt dies zu einem sauberen Programmierstil und kann auch auf mögliche Sicherheitsprobleme aufmerksam machen.

log_errors = On

Diese Einstellung bewirkt, dass sämtliche Fehler in einer Logdatei mitprotokolliert werden. Für die Entwicklungsumgebung ist diese Einstellung sehr zu empfehlen, da man hier auch im Nachhinein noch alle Hinweise und Fehler einsehen kann. Auch wenn man die Seite schon verlassen hat.

display_errors = On

Neben dem Loggen der Fehlermeldungen in der Logdatei, wird durch diese Einstellung der Fehler/Hinweis direkt auf der Seite ausgegeben. In der Entwicklungsumgebung sollte diese Einstellung gesetzt sein, damit Fehler schneller auffallen.

error_log = "/Applications/MAMP/logs/php_error.log"

In Verbindung mit der oberen Einstellung wird hier der Pfad und Dateiname der Logdatei angegeben. Wichtig ist, dass der Apache in diesem Verzeichnis Schreibrechte hat. Wird die Admidio-Einstellung $gDebug = 1 gesetzt, so landen in dieser Datei auch alle SQL-Statements und Seitenaufrufe.

allow_url_fopen = Off

Diese Einstellung bewirkt, dass man in Funktionen, welche mit Pfadangaben arbeiten (z.b. fopen zum Öffnen von Dateien) keine URLs mehr benutzen darf, sondern nur noch direkte Serverpfade. Da URLs ein Sicherheitsrisiko darstellen und viele Hoster deshalb diese Option auch deaktivieren, sollten wir dies auch tun, damit es zu keinen Problemen bei den Anwendern kommt.

allow_url_include = Off

Ab PHP 5.2 gibt es diese Option für include und require Befehle und arbeitet analog zu allow_url_fopen. Auch diese Option sollten wir aus den o.g. Gründen setzen.

Admidio-Debug-Flag

Mit der Version 2.0 ist es möglich in der config.php ein Debug-Flag zu setzen.

Folgender Eintag aktiviert den Debug-Modus:

$gDebug = 1;