Ich   Entwicklung   Lösungen Apache PHP mySQL  
 

Die Konfigurationsdatei php.ini

Auf den folgenden Seiten werde ich die Konfigurationsdatei so vollständig wie möglich und nötig erklären. Dies ist sehr umfangreich. Als Anfänger können Sie ruhigen Gewissens einige Absätze überspringen, die Sie erst später als Profi benötigen werden. Den Abschnitt Dynamic Extensions können Sie komplett überspringen, in allen anderen Abschnitten gibt es allerdings Einstellungen, die Sie kennen und beachten sollten, oder auch Einstellungen, die Sie ändern müssen, damit PHP erwartungsgemäß funktioniert. Ich habe daher alle auch für Anfänger interessanten, verständlichen und wichtigen Abschnitte mit dem Symbol Anfänger gekennzeichnet.

In PHP 5 neu hinzugekommene Einstellungen sind farbig hinterlegt. Unterschiede werden wie gewohnt zweispaltig dargestellt.

Um die Einstellungen für PHP zu ändern, müssen Sie die Datei php.ini editieren, die Sie während der Installation im Windows-Verzeichnis angelegt haben. Vergessen Sie nicht, dass der Apache Webserver neu gestartet werden muss, damit Änderungen wirksam werden!

Zusatzinfo

Wenn PHP als Apache-Modul geladen ist, kann man auch PHP-Einstellungen durch die httpd.conf oder durch Access-Dateien vornehmen. Diese Methode hat für Provider den Vorteil, dass Sie für verschiedene VirtualHosts verschiedene Einstellungen vornehmen können.

Für Zeichenketten- und Integer-Werte gibt es die Anweisung php_value. Beispiel: php_value max_execution_time 60

Für Wahrheitswerte (Boolesche Werte) php_flag. Beispiel: php_flag track_vars on

Davon abgesehen gibt es einige Einstellungen, die nicht in .htaccess-Dateien vorgenommen werden dürfen, sondern nur in der httpd.conf (damit nur der Administrator sie verwalten kann, nicht jeder User; mehr dazu weiter unten). Dafür gibt es die beiden Anweisungen php_admin_value und php_admin_flag.

Um per .htaccess Einstellungen ändern zu können muss übrigens für das betreffende Verzeichnis AllowOverride Options gelten (in der httpd.conf).

Zusatzinfo

Auch zur Ausführungszeit von Skripten sind PHP-Einstellungen theoretisch änderbar, mit der Funktion ini_set(). Diese Änderungen gelten nur lokal für das aufrufende Skript. Beispiel: ini_set("max_execution_time", "60");. Praktisch ist dies nicht immer möglich.

Achtung

Verschiedene Einstellungen der php.ini dürfen nur unter bestimmten Voraussetzungen auf diese Weisen geändert werden. So kann z.B. post_max_size nur in der php.ini und der httpd.conf geändert werden; implicit_flush zusätzlich auch in einer .htaccess-Datei; beide können aber nicht durch ini_set() geändert werden!

Hilfe dazu

Mehr Informationen dazu (und zu weiteren Funktionen wie ini_get()) finden Sie in der Beschreibung der Funktion ini_set() im PHP Manual, online zu finden auf http://www.php.net/manual/de/function.ini-set.php.

Der Inhalt der php.ini

Wie Sie unschwer erkennen werden, sind Zeilen, die mit einem Semikolon beginnen, Kommentare. Der Anfang der Datei ist ein kleiner, einleitender Text:

Hinweis

Wundern Sie sich nicht, falls der hier aufgeführte Text der php.ini nicht dem Text Ihrer Version entspricht. Einserseits habe ich einige Stellen gekürzt, andererseits ändern sich die Texte oft von Version zu Version.

[PHP]

;;;;;;;;;;;;;;;;;;;
; About this file ;
;;;;;;;;;;;;;;;;;;;
;
; This is the recommended, PHP 4-style version of the php.ini-dist file.  It
; sets some non standard settings, that make PHP more efficient, more secure,
; and encourage cleaner coding.
; The price is that with these settings, PHP may be incompatible with some
; applications, and sometimes, more difficult to develop with.  Using this
; file is warmly recommended for production sites.  As all of the changes from
; the standard settings are thoroughly documented, you can go over each one,
; and decide whether you want to use it or not.
;
; This file is different from the php.ini-dist file in the fact that it features
; different values for several directives, in order to improve performance, while
; possibly breaking compatibility with the standard out-of-the-box behavior of
; PHP 3.  Please make sure you read what's different, and modify your scripts
; accordingly, if you decide to use this file instead.

Gleich am Anfang werden Sie darauf hingewiesen, dass diese Version der php.ini so voreingestellt ist, dass PHP-Skripte besonders sicher, schnell und sauber geschrieben werden können.
Vermeintlicher Nachteil ist, dass viele unsauber geschriebene Skripte, die Sie herunterladen können (oder früher einmal geschrieben haben) voraussichtlich nicht mehr funktionieren werden.

Betroffen sind, wie es Ihnen die php.ini im folgenden erklärt, vor allem die Einstellungen

; - register_globals = Off         [Security, Performance]
; - display_errors = Off           [Security]
; - log_errors = On                [Security]
; - output_buffering = 4096        [Performance]
; - register_argc_argv = Off       [Performance]
; - magic_quotes_gpc = Off         [Performance]
; - variables_order = "GPCS"       [Performance]
; - error_reporting = E_ALL        [Code Cleanliness, Security(?)]
; - allow_call_time_pass_reference = Off     [Code cleanliness]

Ich werde an den entsprechenden Stellen der Konfigurationsdatei mehr dazu schreiben.

Language Options weiter

URL: www.intermitto.net/php/konfig/ini/
© 2004-05 Jens Becker - intermitto.net v5.1
Letzte Änderung: 23.08.2005

Home - Kontaktformular - Downloads - Suche und Sitemap - Impressum
Entwicklung - Problemlösungen - Tutorials: Apache PHP mySQL

user  pass