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_runtime aktiviert 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 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( ) .