PHP Handbuch
Zurück | Kapitel 4. Konfiguration | Nach vorne

# Wie Sie die Konfigurations-Einstellungen ändern können

## `PHP` als Apache-Modul laufen lassen

Wenn Sie PHP in der Modul-Variante benutzen, können Sie die Konfigurationseinstellungen auch mittels der Apache-Konfigurations- datei (z.B. `httpd.conf`) bzw. mittels `.htaccess`-Dateien ändern (sie benötigen dann die Berechtigungen "AllowOverride Options" oder "AllowOverride All").

Seit PHP 4.0 gibt es mehrere Apache-Optionen, die es Ihnen ermöglichen, die PHP-Konfiguration aus den Apache-Konfigurationsdateien heraus zu ändern. Für eine Liste, welche Optionen `PHP_INI_ALL`, `PHP_INI_PERDIR` oder `PHP_INI_SYSTEM` sind, schauen Sie bitte in die Tabelle, die Sie in der Dokumentation der ini_set()-Funktion finden.

> Anmerkung: Seit PHP 3.0 existieren Apache-Anweisungen, die mit jeder Konfigurationseinstellung der `php3.ini` korrespondieren, ausgenommen Einstellungen mit dem Prefix "php3_".

php_value `name` `value`

  Setzt den Wert der spezifizierten Option. Kann nur mit Optionen vom Typ PHP_INI_ALL und PHP_INI_PERDIR benutzt werden. Um einen zuvor gesetzten Wert zurückzusetzen, benutzen Sie `none` als Wert.

      php_value auto_prepend_file none

php_flag `name` `on|off`

  Setzt eine boolesche Option. Kann nur mit Optionen vom Typ PHP_INI_ALL und PHP_INI_PERDIR benutzt werden.

php_admin_value `name` `value`

  Setzt den Wert der spezifizierten Option. Kann nicht in `.htaccess`-Dateien benutzt werden. Jeder Options vom Typ php_admin_value kann nicht durch `.htaccess`-Dateien oder Virtual-Host-Optionen überschrieben werden. Um einen zuvor gesetzten Wert zurückzusetzen, benutzen Sie `none` als Wert.

      php_admin_value open_basedir none

php_admin_flag `name` `on|off`

  Setzt eine boolesche Option. Kann nicht in `.htaccess`-Dateien benutzt werden. Jeder Options vom Typ php_admin_flag kann nicht durch `.htaccess`-Dateien oder Virtual-Host-Optionen überschrieben werden.

Beispiel 4-2. Apache-Konfigurations-Beispiel

    <IfModule mod_php4.c>
      php_value include_path ".:/usr/local/lib/php"
      php_admin_flag safe_mode on
    </IfModule>
    <IfModule mod_php3.c>
      php3_include_path ".:/usr/local/lib/php"
      php3_safe_mode on
    </IfModule>

> Anmerkung: PHP-Konstanten existieren nicht außerhalb von PHP. So können Sie z.B. in der `httpd.conf` keine PHP-Konstanten wie `E_ALL` oder `E_NOTICE` benutzen, um die Option error_reporting zu setzen, da ihr Wert dort unbekannt ist und zu 0 ausgewertet würde. Benutzen Sie stattdessen die zugeordneten Bitwerte, diese Konstanten können in der `php.ini` benutzt werden.

## Andere Schnittstellen zu `PHP`

Unabhänging von der Schnittstelle zu `PHP` können Sie einige Werte während der Laufzeit Ihrer Skript über die ini_set()-Funktion setzen. Die folgende Tabelle gibt Ihnen einen Überblick, auf welcher Stufe eine Option gesetzt oder geändert werden kann.

Tabelle 4-1. Definition der PHP_INI_*-Konstanten

Konstante | Wert | Bedeutung
--- | --- | ---
PHP_INI_USER | 1 | Option kann in Benutzer-Skripten gesetzt werden
PHP_INI_PERDIR | 2 | Option kann in der `php.ini`, `.htaccess` oder `httpd.conf` gesetzt werden
PHP_INI_SYSTEM | 4 | Option kann in der `php.ini` oder `httpd.conf` gesetzt werden
PHP_INI_ALL | 7 | Option kann überall gesetzt werden

Die Konfigurationseinstellungen können Sie in der Ausgabe der phpinfo()-Funktion einsehen. Außerdem können Sie Zugang zu den individuellen Konfigurationseinstellungen über ini_get() oder get_cfg_var() bekommen.

Zurück | Zum Anfang | Nach vorne
Konfiguration | Nach oben | Allgemeine Konfigurationseinstellungen