Kontakt aufnehmen

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.
Hinweise:
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

Stefan Wienströer

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

Cookie-Einstellungen

Helfen Sie dabei, uns noch besser zu machen. Wir nutzen Cookies und ähnliche Technologien, um die Website auf Ihre Bedürfnisse anzupassen. Zur Datenschutzerklärung

Auswahl speichern