PHP Handbuch
Zurück |  | Weiter

# Kapitel 9. Laufzeiteinstellungen

# Die Konfigurationsdatei

Die Konfigurationsdatei (in PHP 3 `php3.ini` genannt, seit PHP 4 nur noch `php.ini`) wird beim Start von PHP eingelesen. Für die Servermodul-Versionen von PHP geschieht dies nur einmal beim Start des Webservers. Für die CGI- und CLI-Versionen geschieht dies bei jedem Aufruf.

Nach der `php.ini` wird an folgenden Orten in der angegebenen Reihenfolge gesucht:

- Spezielle Orte für SAPI Module (`PHPIniDir`-Direktive im Apache2, `-c` Kommandozeilenparameter in CGI in CLI, `php_ini`-Parameter in NSAPI, `PHP_INI_PATH`-Umgebungsvariable im THTTPD)

- Die `PHPRC`-Umgebungsvariable. Vor PHP 5.2.0 wurde dies nach dem unten angegebenen Registrierungsschlüssel geprüft.

- `HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath` (Windows Registry)

- Aktuelles Arbeitsverzeichnis (außer CLI)

- Das Webserververzeichnis (für SAPI-Module) oder das PHP-Verzeichnis (andernfalls in Windows)

- Windows-Verzeichnis (`C:\windows` oder `C:\winnt`) (unter Windows) oder die `--with-config-file-path` Kompilierungsoption

Falls die Datei `php-SAPI.ini` existiert (wobei SAPI die verwendete SAPI ist, was als Dateinamen z.B. `php-cli.ini` ergibt), wird diese anstelle der `php.ini` verwendet. Der Name der SAPI kann durch php_sapi_name() ermittelt werden.

> Anmerkung: Der Apache-Webserver wechselt beim Start das Arbeitsverzeichnis in das Wurzelverzeichnis, weshalb PHP versucht die `php.ini` aus dem Wurzelverzeichnis zu lesen, wenn diese existiert.

Die Optionen der `php.ini` für Extensions werden auf den Handbuchseiten der jeweiligen Extensions behandelt. Die Beschreibung der core `php.ini` Einstellungen ist im Anhang verfügbar. Es werden jedoch wahrscheinlich nicht alle PHP-Direktiven im Handbuch erläutert. Für eine komplette Liste von in Ihrer PHP Version verfügbaren Einstellungen lesen Sie bitte die gut kommentierte `php.ini`. Möglicherweise kann die aktuellste `php.ini` aus unserem CVS ebenfalls hilfreich sein.

Beispiel 9-1. `php.ini` Beispiel

    ; Jeder Text in einer Zeile nach einem Semikolon, welches nicht
    ; in Anführungszeichen steht, wird ignoriert
    [php] ; Abschnittsmarkierungen (Text in eckigen Klammern) werden ebenfalls ignoriert
    ; Boolesche Werte können auf einen der folgenden Werte eingestellt werden:
    ;      true, on, yes
    ; oder false, off, no, none
    register_globals = off
    track_errors = yes

    ; Sie können Zeichenketten in Anführungszeichen einschließen
    include_path = ".:/usr/local/lib/php"

    ; Backslashes werden wie alle anderen Zeichen behandelt
    include_path = ".;c:\php\lib"

Seit PHP 5.1.0 ist es möglich, sich auf bereits definierte .ini Variablen innerhalb der .ini Dateien zu beziehen. Zum Beispiel: `open_basedir = ${open_basedir}":/new/dir"`.

Zurück | Zum Anfang | Weiter
Bug reports | Nach oben | Wie man Konfigurationseinstellungen ändert