Konfiguration der php.ini
Bei jeder Installation vonPHP- egal ob Windows oder Linux - wird eine Konfigurationsdatei mitgeliefert, über diePHPallgemein konfiguriert werden kann. Diese Datei heißt "php.ini".Der große Vorteil dabei ist, dass die Konfiguration in einer Datei "zentralisiert" ist und der Programmierer mit Add-Ons, Packages und Modulen usw. keine Schwierigkeiten hat.
Die im Artikel erwähnten Konfigurationsparameter und -werte beziehen sich auf die PHP-Version 5.1.4.
Nach den Änderungen muss der Webserver wieder neu gestartet werden. Generell reicht zum Bearbeiten ein ganz normaler Texteditor (z.B. WordPad) aus.
Im folgenden sind nur die wichtigsten Einstellungen beschrieben - alle zu beschreiben würde den Rahmen dieses Artikels sprengen.
Bereich Language Options
Parameter short_open_tag
Es gibt drei Möglichkeiten, wie ein PHP-Code in eine HTML-Datei eingebunden werden kann. Die Möglichkeiten<?php
und <script language="php">
stehen immer zur Verfügung. Die häufig genutzte Alternative
<?
kann eingeschaltet oder ausgeschaltet werden. Mit dem Parameter "short_open_tag" kann dies erledigt werden. Dem Paramter kann man die Werte "On" oder "Off" zuweisen. Standardmäßig ist dem Parameter der Wert "On" zugeordnet.
Bereich Safe Mode
Parameter realpath_cache_size
Generell werden alle PHP-Skripte während sie laufen, in einem Zwischenspeicher hinterlegt. Das heißt, dass je größer dieser Speicher ist auch mehr PHP-Skripte mit ansprechender Performance laufen können.Um die Originalbeschreibung aus der php-ini zu zitieren: Wenn es sich um einen Rechner handelt, auf dem viele PHP-Skripte laufen, sollte der Wert für den Parameter erhöht werden.
Standardmäßig ist dem Parameter der Wert "16k" zugeordnet.
Bereich Resource Limits
Parameter max_execution time
Dieser Parameter gibt den maximalen Zeitraum in Sekunden an, wie lange ein PHP-Skript tatsächlich ausgeführt wird.Der Standardwert dieses Parameters beträgt "30 Sekunden".
Parameter max_input_time
Wenn ein PHP-Skript aus einer externen Datenquelle (Datei, Datenbank usw) Daten anfordert, müssen diese erst PHP-intern verarbeitet werden, bevor sie im Browser dargestellt werden können.Es gibt eine zeitliche Begrenzung, wie lange ein PHP-Skript die angeforderten Daten verarbeiten kann.
Der Standardwert dieses Parameters beträgt "60 Sekunden".
Parameter memory_limit
Hier wird definiert, wie viel MB Arbeitsspeicher ein Skript maximal verwenden darf.Der Standardwert dieses Parameters beträgt "8 MB".
Bereich Error Handling and Logging
Parameter display_errors
Dieser Parameter legt fest, ob im Fehlerfall überhaupt Fehlermeldungen im Browser-Fenster angezeigt werden sollen oder nicht. Dem Parameter können die Werte "On" oder "Off" zugeordnet werden.Der Standardwert dieses Parameters beträgt "On".
Bereich Data Handling
Parameter register_globals
Dieser Parameter, der sich auf globale Variablen bezieht, war in früheren PHP-Versionen grundsätzlich aktiviert. Dies hat aber teilweise zu massiven Sicherheitsproblemen geführt, wenn der Quellcode des PHP-Skriptes nicht sauber durchdacht war.In neueren PHP-Versionen ist dieser Parameter deaktiviert und selbst in der dazugehörigen Beschreibung in der php.ini wird empfohlen, die Skripte so zu schreiben, dass dieser Parameter nicht benötigt wird.
Der Standardwert dieses Parameters beträgt "Off".
Parameter post_max_size
Es gibt verschiedene Verfahren, wie die in einem Formular eingegebenen Daten verarbeitet werden können. Dieser Parameter bezieht sich auf das Verfahren "post" und definiert die maximale Größe der Daten, die dabei übertragen werden können.Der Standardwert dieses Parameters beträgt "8MB".
Bereich Paths and Directories
Parameter enable_dl
Dieser Parameter gibt dem Programmierer die Möglichkeit die Funktion "dl" zu nutzen. Mit diesem Befehl können in einer Windows- oder Linux-Umgebung externe DLL- oder so-Dateien in ein PHP-Skript eingebunden werden.Ein gutes Beispiel für die Anwendung dieser Funktion ist PHP-GTK, womit grafische Oberflächen mit PHP-Skripte erstellt werden können.
Der Standardwert dieses Parameters beträgt "On".
Hinweis: Bei einigen Webservern wieIISoder Zeus arbeitet diese Funktion nicht sauber, so dass sie bei der Installation vonPHPdort automatisch abgeschaltet wird.
Bereich File Uploads
Parameter file_uploads
MitPHPkönnen Dateien aller Art überHTTPauf den Server kopiert werden. Mit diesem Parameter wird festgelegt, ob dies generell möglich ist oder nicht.Der Standardwert dieses Parameters beträgt "On".
Parameter upload_tmp_dir
Der Wert dieses Parameters gibt an, in welchem Verzeichnis die perHTTPhochgeladenen Dateien vorläufig gespeichert werden, bevor sie in ihr im Skript angegebenes Zielverzeichnis verschoben werden.Standardmäßig ist für diesen Parameter der Ordner "uploadtemp" im PHP-Installationsverzeichnis angegeben.
Parameter upload_max_filesize
Dieser Parameter gibt an, wie groß die Dateien maximal sein dürfen, die überHTTPauf den Server geladen werden. DaHTTPals Transportprotokoll sehr langsam ist, empfiehlt es sich, den Wert für diesen Parameter nicht zu hoch anzusetzen.Der Standardwert dieses Parameters beträgt "2MB".
Hinweis: Wenn in HTML ein Formular definiert wird, kann als Attribut im einleitenden <form>-Tag ebenfalls eine maximale Größe für eine Datei angegeben werden. Allerdings ist dieses Attribut nicht sehr zuverlässig und arbeitet - wenn überhaupt - von Browser zu Browser unterschiedlich. Deshalb empfiehlt es sich - wenn mitPHPgearbeitet wird - auf den Parameter "upload_max_filesize" zuzugreifen und dort eine maximale Größe zu definieren.
Bereich Module Settings: Abschnitt [mail function]
Parameter SMTP (for Win32 only)
Wenn die Email-Funktion inPHPgenutzt werden soll, mußPHPmitgeteilt werden, zu welchem Email-Server die Mails geschickt werden sollen.Zum Beispiel bei "T-Online" muss als Wert für diesen Parameter "mailto.t-online.de" angegeben werden.
Der Zusatz "(for Win32 only)" bedeutet, dass dieser Parameter nur für Windows-Systeme relevant ist.
Standardmäßig ist diesem Parameter der Wert "localhost" (= der eigene Rechner) zugeordnet.
Parameter smtp_port
Dieser ebenfalls nur für Windows-Systeme gültige Parameter gibt den Port an, über den der Mail-Server angesprochen wird.Der Standard-Port "25" ist der allgemein gültige Port für das Protokoll "SMTP" und sollte deshalb nicht verändert werden.
Parameter sendmail_from
Dieser Parameter bietet die Möglichkeit, eine individuelle Absender-Adresse anzugeben, wenn über ein PHP-Skript eine Email verschickt wird. Eine Absender-Adresse ist beim Versenden von Emails zwingend notwendig. In einem PHP-Skript kann aber eine andere Absender-Adresse angegeben werden.Dieser nur für Windows-Systeme gültige Parameter hat den Standardwerte: me@localhost.com
Parameter sendmail_path
Wenn auf einem UNIX-System eine Mail verschickt werden soll, mußPHPnoch mitgeteilt werden, über welchen Pfad das Sendmail-Programm erreicht werden kann."Sendmail" ist das Standard-Mail-Programm von UNIX. Attribute für Sendmail können hier ebenfalls angegeben werden.
Standardmäßig besitzt "sendmail_path" keinen Wert.
Bereich Module Settings: Abschnitt [MySQL]
Parameter mysql.allow_persistent
Hier wird angegeben, ob als Verbindung zu einem MySQL-Server auch persistente Links möglich sind oder nicht.Persistent heißt in diesem Fall, dass die Verbindung zur Datenbank auch dann besteht, wenn das Skript bzw. dessen Ausführung schon beendet ist.
Der Standardwert dieses Parameters beträgt "On".
Parameter mysql.max_persistent
Hier wird eine maximale Anzahl von persistenten Links angegeben. Die Nutzung dieses Parameters macht allerdings nur dann Sinn, wenn "mysql.allow_persistent" auf "On" steht.Der Standardwert dieses Parameters ist "-1", was bedeutet, dass es kein Limit für persistente Links zu einer MySQL-Datenbank gibt.
Parameter mysql.max_links
Dieser Parameter gibt den maximalen Wert von persistenten und nicht-persistenten Links zu einer MySQL-Datenbank an.Der Standardwert dieses Parameters ist "-1", was bedeutet, dass es kein Limit für Links zu einer MySQL-Datenbank gibt.
Parameter mysql.default_port
Damit wird definiert, über welchen Port auf eine MySQL-Datenbank zugegriffen wird. Wenn der Parameter leer bleibt, wird der Standardwert - egal ob bei Windows oder Linux - genommen.Standardmäßig ist dem Parameter kein Wert zugeordnet.
Parameter mysql.default_socket
Ein Socket gibt an, über welches "Tor" auf eine MySQL-Datenbank zugegriffen werden soll. MySQL selbst liefert dazu einen Standardsocket mit.Wenn für den Parameter kein Wert angegeben wird, wird der MySQL-Standardsocket verwendet, der mit der MySQL-Software mitgeliefert wird.
Standardmäßig ist dem Parameter kein Wert zugeordnet.
Parameter mysql.default_host
Mit diesem Parameter kann ein Standard-Rechner (Hostname oder IP-Adresse) für den Zugriff auf eine MySQL-Datenbank angegeben werden.Standardmäßig ist dem Parameter kein Wert zugeordnet.
Parameter mysql.default_user
Mit diesem Parameter kann ein Standard-User für den Zugriff auf eine MySQL-Datenbank angegeben werden.Standardmäßig ist dem Parameter kein Wert zugeordnet.
Parameter mysql.default_password
Mit diesem Parameter kann ein Standard-Paßwort für den Zugriff auf eine MySQL-Datenbank angegeben werden.Standardmäßig ist dem Parameter kein Wert zugeordnet.
Hinweis: Falls für mysql.default_password ein Passwort hinterlegt wird, bedeutet das ein Sicherheitsrisiko.
Dieses Passwort wird im Klartext in der Datei gespeichert und kann von jedem Nutzer mit Zugriff auf die php.ini ausgelesen werden.
Parameter mysql.connect_timeout
Nach welchem Zeitraum die Verbindung zu einer MySQL-Datenbank unterbrochen wird, gibt dieser Parameter an. Der Zeitraum wird dabei in Sekunden angegeben.Der Standardwert dieses Parameters beträgt "60".
Hinweis: mysql.connect_timeout steht im Normalfall im Widerspruch zum Parameter "mysql.allow_persistent", wenn dieser den Wert "On" hat. "mysql.allow_persistent" ermöglicht zeitlich unbegrenzte Verbindungen zu MySQL-Datenbanken, die aber nach der Zeit, die mit "mysql.connect_timeout" definiert wurde, unterbrochen werden. Es ist deshalb sinnvoll, für den Parameter "mysql.connect_timeout" den Wert "-1" zu setzen, denn so bestehen alle persistenten MySQL-Verbindungen auch wirklich unendlich.
Parameter mysql_trace_mode
Mit diesem Parameter kann definiert werden, ob SQL-Fehler direkt im Browser angezeigt werden sollen oder nicht. Es ist möglich, dass dieser Parameter, wenn er aktiviert ist, mit Rechnern mit relativ wenig Performance zu Leistungseinbußen führen kann.Der Standardwert dieses Parameters beträgt "Off".
Du arbeitest in einer Agentur oder als Freelancer?
Dann wirf doch mal einen Blick auf unsere Software FeatValue.
Weiterlesen: ⯈ Sicheres PHP trotz register_gobals on
Über uns

Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project