Die KonfigurationsdateiDie Konfigurationsdatei 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:
Falls die Datei php-SAPI.ini existiert (wobei SAPI die verwendete SAPI ist, was als Dateinamen z.B. php-cli.ini oder php-apache.ini ergibt), wird diese anstelle der php.ini verwendet. Der Name der SAPI kann durch php_sapi_name ermittelt werden.
Wie untenstehend gezeigt können Umgebungsvariablen in php.ini verwendet werden.
Beispiel #1 php.ini Umgebungsvariablen ; PHP_MEMORY_LIMIT ist der Wert einer Umgebungsvariablen
memory_limit = ${PHP_MEMORY_LIMIT}
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 der in Ihrer PHP-Version verfügbaren Einstellungen lesen Sie bitte die gut kommentierte php.ini. Möglicherweise kann die » aktuellste php.ini aus dem Git-Repository ebenfalls hilfreich sein.
Beispiel #2 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". Scan directoriesIt is possible to configure PHP to scan for .ini files in a directory after reading php.ini. This can be done at compile time by setting the --with-config-file-scan-dir option. In PHP 5.2.0 and later, the scan directory can then be overridden at run time by setting the PHP_INI_SCAN_DIR environment variable.
It is possible to scan multiple directories by separating them with the
platform-specific path separator (; on Windows, NetWare
and RISC OS; : on all other platforms; the value PHP is
using is available as the Within each directory, PHP will scan all files ending in .ini in alphabetical order. A list of the files that were loaded, and in what order, is available by calling php_ini_scanned_files, or by running PHP with the --ini option. Assuming PHP is configured with --with-config-file-scan-dir=/etc/php.d, and that the path separator is :... $ php PHP will load all files in /etc/php.d/*.ini as configuration files. $ PHP_INI_SCAN_DIR=/usr/local/etc/php.d php PHP will load all files in /usr/local/etc/php.d/*.ini as configuration files. $ PHP_INI_SCAN_DIR=:/usr/local/etc/php.d php PHP will load all files in /etc/php.d/*.ini, then /usr/local/etc/php.d/*.ini as configuration files. $ PHP_INI_SCAN_DIR=/usr/local/etc/php.d: php PHP will load all files in /usr/local/etc/php.d/*.ini, then /etc/php.d/*.ini as configuration files. Changelog
|