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 (für 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".