Google

NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7">

Kapitel 4. Konfiguration

Inhaltsverzeichnis
Die Konfigurationsdatei

Die Konfigurationsdatei

Die Konfigurationsdatei (php3.ini in PHP 3.0.x, und php.ini in PHP 4.0) wird geladen, wenn PHP gestartet wird. Wurde PHP als Modul in den Webserver einkompiliert, dann geschieht dies nur, wenn der Server gestartet wird. Ist PHP als CGI-Version konfiguriert worden, geschieht es bei jedem Aufruf.

Wenn Sie PHP in der Modul-Variante benutzen, können Sie die Konfigurationseinstellungen auch mittels der Apache-Konfigurations- datei bzw. mittels .htaccess-Dateien ändern.

Bei PHP 3.0.x existieren Apache-Anweisungen, die mit jeder Konfigurationseinstellung der php3.ini korrespondieren, ausgenommen Einstellungen mit dem Prefix "php3_".

Bei PHP 4.0 gibt es nur noch wenige Apache-Anweisungen, die es Ihnen erlauben, die Konfigurationseinstellungen zu ändern.

php_value name value

Dieses setzt den Wert der spezifizierten Variablen.

php_flag name on|off

Dieser Schalter wird benutzt, um die Boolean-Konfigurations- Option zu aktivieren.

php_admin_value name value

Dieser Wert setzt den Wert der spezifischen Variablen. "Admin"-Konfigurationseinstellungen können nur innerhalb der Haupt-Konfigurationsdatei des Apache gesetzt werden, nicht etwa über eine .htaccess Datei.

php_admin_flag name on|off

Dieser Schalter wird benutzt, um die Boolean-Konfigurations-Option zu aktivieren. ("Admin")

Die Konfigurationseinstellungen können Sie in der Ausgabe der phpinfo() Datei einsehen. Ebenfalls können Sie Zugang zu den individuellen Konfigurationseinstellungen über get_cfg_var() bekommen.

Allgemeine Konfigurationseinstellungen

asp_tags boolean

Dieser Schalter aktiviert die Unterstützung von ASP <% %> Tags als Erweiterung zu den üblichen <?php ?> Tags. Dieses beinhaltet auch die Kurzform der Variablenausgabe <%= $value %>. Weitere Informationen finden Sie hier: Escaping from HTML.

Anmerkung: Die Unterstützung für ASP-Tags wurde in Version 3.0.4 hinzugefügt.

auto_append_file string

Hier können Sie eine Datei angeben, die automatisch nach der Haupt-Datei aufgerufen wird. Die Datei wird in die aufgerufene Datei eingebettet, als wenn Sie sie mittels der include() Funktion eingebunden hätten, dabei wird ein gesetzter include_path beachtet.

Der Wert none deaktiviert auto-appending.

Anmerkung: Wird das Skript mit der Funktion exit()beendet, wird auto-append nicht aktiv.

auto_prepend_file string

Hier können Sie eine Datei angeben, die automatisch vor der Hauptdatei aufgerufen wird. Die Datei wird in die aufgerufene Datei eingebettet, als wenn Sie sie mittels der include() Funktion eingebunden hätten, dabei wird ein gesetzter include_path beachtet.

Der Wert none deaktiviert auto-prepending.

cgi_ext string

doc_root string

Hier wird das Stammverzeichnis der PHP-Skripte eingegeben. Üblicherweise handelt es sich hier um das DocumentRoot des Servers (Apache: htdocs) Diese Angabe wird nur benutzt, wenn sie einen Wert enthält. Wenn PHP mit safe mode konfiguriert wurde, werden alle PHP-Skripte außerhalb dieses Directorys ignoriert.

open_basedir string

Beschränkt die Dateien, die von PHP geöffnet werden können, auf Dateien im angegebenen Verzeichnisbaum.

Wenn ein Skript versucht, eine Datei mit z.B. fopen oder gzopen zu öffnen, wird der Ort der Datei überprüft. Wenn sich die Datei außerhalb des spezifizierten Verzeichnisses befindet, wird PHP sie nicht öffnen. Alle symbolischen Links sind hier mit eingeschlossen, so dass es auch nicht möglich ist, dieses Verbot mittels symlink zu umgehen.

Der Wert . gibt an, dass das Verzeichnis, in dem das Skript abgespeichert ist, als Basis-Verzeichnis genutzt wird.

Unter Windows werden Verzeichnisse mit Semikolon getrennt, unter allen anderen Betriebssystemen mit einem Doppelpunkt. Wenn PHP als Modul in den Apache einkompiliert wurde, werden open_basedir paths von "Eltern"-Verzeichnissen nun automatisch vererbt.

Anmerkung: Die Unterstützung für multiple Verzeichnisse wurde in Version 3.0.7 hinzugefügt.

Die Standardeinstellung ist, alle Dateien zum Parsen freizugeben.

gpc_order string

Legt die Auswertungsreihenfolge für GET/POST/COOKIE Variablen fest. Die Standardeinstellung ist GPC. Wenn Sie diesen Wert auf z.B."GP" setzen, ignoriert PHP Cookies, und wird jede GET Methoden Variable mit POST Methoden Variablen des gleichen Namens überschreiben.

ignore_user_abort string

Standardmäßig auf ON. Wenn Sie diese Einstellung auf OFF setzen, werden PHP-Skripte beendet, sobald sie versuchen, eine Ausgabe zu erzeugen, nachdem der Client die Verbindung beendet hat. ignore_user_abort().

include_path string

Hier können Sie ein Verzeichnis angeben, in dem die require(), include() und fopen_with_path() Funktionen nach Dateien suchen. Das Format ist ähnlich der PATH Umgebungsvariablen des jeweiligen Systems: Eine Liste von Verzeichnissen, getrennt durch einen Doppelpunkt bei UNIX oder ein Semikolon bei WINDOWS.

Beispiel 4-1. UNIX include_path

include_path=.:/home/httpd/php-lib

Beispiel 4-2. Windows include_path

include_path=".;c:\www\phplib"
Der Standardwert für diese Option ist . (nur das aktuelle Verzeichnis).

isapi_ext string

magic_quotes_gpc boolean

Dieser Schalter setzt den magic_quotes-Zustand für GPC (GET/POST/COOKIE) -Operationen. Wenn magic_quotes auf ON steht, werden automatisch alle ' (single-quote), " (double quote), \ (backslash) und NUL's mit einem Backslash versehen. Wenn auch magic_quotes_sybase auf ON steht, wird ein single-quote mit einem weiteren single-quote anstatt eines Backslashs versehen.

magic_quotes_runtime boolean

Wenn der Schalter magic_quotes_runtimeaktiviert ist, werden Anführungszeichen der meisten Funktionen, welche Daten aus jeglicher Art von externer Quelle, eingeschlossen Datenbanken und Textdateien, zurückgeben, mit einem Backslash versehen. Wenn auch der Schalter magic_quotes_sybase aktiviert ist, wird ein einfaches Anführungszeichen mit einem einfachen Anführungszeichen anstatt eines Backslashes versehen.

max_execution_time integer

Dieser Wert gibt die maximale Ausführungslänge eines Skriptes in Sekunden an, bevor es vom Parser abgebrochen wird. Dieses soll Abstürzen des Servers durch schlecht geschriebene oder falsche Skripte vorbeugen. Bei komplexen Datenbankabfragen sollte man jedoch bedenken, dass der Standardwert unter Umständen zu klein sein kann.

memory_limit integer

Dieser Wert gibt den maximal erlaubten Speicherplatzverbrauch eines PHP-Skriptes an. Diese Einstellung soll den Server vor Speicherverschwendung durch schlecht programmierte Skripte bewahren.

nsapi_ext string

register_globals boolean

Dieser Schalter bestimmt, ob die EGPCS-Variablen (Environment, GET, POST, Cookie, Server) als globale Variablen registriert werden oder nicht. Sie sollten dies ausschalten, wenn der globale Bereich Ihrer Skripte nicht durch Benutzerdaten gestört werden soll. Diese Einstellung ist insbesondere dann sinnvoll, wenn sie mit track_vars verwendet wird. In diesem Fall kÖnnen alle EGPCS-Variablen durch $HTTP_ENV_VARS, $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS und $HTTP_SERVER_VARS angespochen werden.

short_open_tag boolean

Gibt an, ob die Kurzform (<? ?> eines öffnenden PHP-Tags erlaubt ist. Wenn Sie PHP in Kombination mit XML nutzen, müssen Sie diese Option deaktivieren. Wenn Sie die Option deaktiviert haben, müssen Sie die Langform des öffnenden Tags (<?php ?>)verwenden.

sql.safe_mode boolean

track_vars boolean

Wenn dieser Schalter aktiviert ist, werden GET-, POST- und Cookie-Werte in den Umgebungsvariablen-Arrays $HTTP_GET_VARS, $HTTP_POST_VARS und $HTTP_COOKIE_VARS abgelegt.

upload_tmp_dir string

Hier wird das temporäre Verzeichnis angegeben, in welchem Dateien gespeichert werden, die mittels file upload auf den Server geladen werden. Dieses Verzeichnis muss schreibbar sein.

user_dir string

Wenn Sie PHP für User hosten, dann können persönliche Verzeichnisse der Art ~username angelegt werden. Der Wert user_dir zeigt auf das Stammverzeichnis, unter dem diese Nutzerverzeichnisse liegen. z.B. public_html.

Mail-Konfigurationsdirektiven

SMTP string

Dieser Wert muss nur in der Windows-Umgebung gesetzt werden. Hier wird der DNS-Name oder die IP-Adresse des SMTP-Servers eingetragen, über den Mails mit der Funktion mail() verschickt werden sollen.

sendmail_from string

Hier können Sie den Absender der Emails eintragen, wenn Sie von Windows aus Emails verschicken wollen.

sendmail_path string

Hier geben Sie den Pfad zum sendmail Programm an. Für gewöhnlich ist dies /usr/sbin/sendmail oder /usr/lib/sendmail. configure versucht zwar den Pfad zum sendmail Programm selbstständig herauszufinden, aber für den Fall, dass dieses nicht funktioniert, können Sie den Pfad hier eintragen.

Auf Systemen, wo Sendmail nicht benutzt wird, sollten Sie diesen Pfad auf den Sendmail-Ersatz -wenn vorhanden- setzen. Zum Beispiel: Qmail-Benutzer können den Pfad normalerweise wie folgt setzen: /var/qmail/bin/sendmail.

Safe Mode-Konfigurationsdirektiven

safe_mode boolean

Wenn Sie diesen Schalter auf ON setzen, betreiben Sie PHP im sicheren Modus. Mehr dazu erfahren Sie im Kapitel Sicherheit

safe_mode_exec_dir string

Wenn Sie PHP im sicheren Modus betreiben, werden die Funktion system() und andere Funktionen, die Systemprogramme ausführen, nicht gestartet, wenn Sie sich nicht in diesem Verzeichnis befinden.

Debugger-Konfigurationsdirektiven

debugger.host string

DNS-Name oder IP-Adresse des Hosts, der vom Debugger benutzt wird.

debugger.port string

Portnummer, die vom Debugger benutzt wird.

debugger.enabled boolean

Hier können Sie den Debugger aktivieren bzw. deaktivieren.

Extension Loading-Direktiven

enable_dl boolean

Diese Option ist eigentlich nur sinnvoll, wenn Sie PHP als Apache-Modul benutzen. Dann können Sie das "Einladen" der dynamischen PHP-Extensionen mit der Funktion dl() für einzelne virtuelle Server oder Verzeichnisse aktivieren bzw. deaktivieren.

Der Hauptgrund, das dynamische Laden von Extensionen zu deaktivieren, ist Sicherheit. Wenn die Option aktiviert ist, ist es möglich, Restriktionen durch safe_mode und open_basedir zu umgehen.

Standardmäßig wird das dynamische Laden erlaubt, außer wenn Sie PHP im safe_mode betreiben. Im safe_mode ist es nie möglich, die Funktion dl() zu benutzen.

extension_dir string

Hier geben Sie das Verzeichnis an, in dem PHP dynamisch zu ladende Extensionen findet.

extension string

Hier geben Sie an, welche Extensionen geladen werden sollen, wenn PHP gestartet wird.

mSQL-Konfigurationsdirektiven

msql.allow_persistent boolean

Erlaubt persistente mSQL-Verbindungen.

msql.max_persistent integer

Hier geben Sie die maximal erlaubte Anzahl persistenter mSQL-Verbindungen pro Prozess an.

msql.max_links integer

Hier geben Sie die maximale Anzahl der Verbindungen pro Prozess an (persistente und normale).

PostgreSQL-Konfigurationsdirektiven

pgsql.allow_persistent boolean

Erlaubt persistente PostgreSQL-Verbindungen.

pgsql.max_persistent integer

Hier geben Sie die maximal erlaubte Anzahl persistenter PostgreSQL-Verbindungen pro Prozess an.

pgsql.max_links integer

Hier geben Sie die maximale Anzahl der Verbindungen pro Prozess an (persistente und normale).

SESAM Konfigurationsdirektiven

sesam_oml string

Name der BS2000 PLAM-Bibliothek, die die ladbaren SESAM Treibermodule enthält. Diese Direktive ist obligatorisch, anderenfalls wird die SESAM Funktionalität deaktiviert. SESAM functions. Die angegebene BS2000 PLAM-Bibliothek muss durch Setzen von ACCESS=READ,SHARE=YES lesbar gemacht werden, da unter der Apache Server User-Id auf sie zugegriffen wird.

sesam_configfile string

Name der SESAM Applikations-Konfigurationsdatei. Diese Direktive ist obligatorisch, anderenfalls wird die SESAM Funktionalität deaktiviert. Die angegebene BS2000-Datei muss für die Apache Server-Kennung lesbar sein.

Gewöhnlich enthält die Applikations-Konfigurationsdatei Konfigurationsbefehle wie (siehe SESAM Referenzhandbuch):

CNF=B
NAM=K
NOTYPE

sesam_messagecatalog string

Name der SESAM Message-Katalogdatei. In den meisten Fällen ist die Angabe dieser Datei überflüssig; lediglich wenn die Message-Katalogdatei nicht in der BS2000 Messagedatei-Tabelle eingetragen ist, kann sie explizit mit dieser Direktive gesetzt werden.

Die angegebene BS2000 Message-Katalogdatei muss durch Setzen von ACCESS=READ,SHARE=YES lesbar gemacht werden, da unter der Apache Server User-Id auf sie zugegriffen wird.

Browser Capability-Konfigurationsdirektiven

browscap string

Name der browser_capabilities-Datei. Mehr hierüber erfahren Sie unter get_browser().