Die Konfigurationsdatei

Die Konfigurationsdatei (php.ini) wird beim Start von PHP eingelesen. Für die Servermodul-Versionen von PHP geschieht dies nur einmal beim Start des Webservers. Für die CGI- und CLI-Versionen geschieht dies bei jedem Aufruf.

Nach der php.ini wird an folgenden Orten in der angegebenen Reihenfolge gesucht:

  • Spezielle Orte für SAPI-Module (PHPIniDir-Direktive im Apache2, -c Kommandozeilenparameter in CGI und CLI)
  • Die PHPRC-Umgebungsvariable.
  • Die Position der php.ini-Datei kann für verschiedene Versionen von PHP gesetzt werden. Die Wurzel der Registrierungsschlüssel hängt davon ab, ob es sich um ein 32- oder 64-bit-System handelt, und ebenfalls von der PHP-Version. Für 32-bit-PHP auf einem 32-bit-System oder für 64-bit-PHP auf einem 64-bit-System ist [(HKEY_LOCAL_MACHINE\SOFTWARE\PHP] zu verwenden; für 32-bit-PHP auf einem 64-bit-System ist stattdessen [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\PHP]] zu verwenden. Bei einer Installation mit derselben Bitanzahl werden die folgenden Registrierungsschlüssel in der angegebenen Reihenfolge durchsucht: [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z], [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y] und [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x], wobei x, y und z die Major-, Minor- und Release-Versionen von PHP darstellen. Für 32-bit PHP-Versionen auf einem 64-bit-System werden die folgenden Registrierungsschlüssel in der angegebenen Reihenfolge durchsucht: [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6421Node\PHP\x.y.z], [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6421Node\PHP\x.y] und [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6421Node\PHP\x], wobei x, y und z die Major-, Minor- und Release-Versionen von PHP darstellen. Falls ein Wert für IniFilePath in einem dieser Schlüssel existiert, so wird der zuerst gefundene als Position der php.ini verwendet (nur unter Windows).
  • [HKEY_LOCAL_MACHINE\SOFTWARE\PHP] bzw. [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\PHP], Wert von IniFilePath (nur unter Windows).
  • Aktuelles Arbeitsverzeichnis (außer CLI).
  • Das Webserververzeichnis (für SAPI-Module) oder das PHP-Verzeichnis (andernfalls in Windows).
  • Windows-Verzeichnis (C:\windows oder C:\winnt) (unter Windows) oder die --with-config-file-path-Kompilierungsoption.

Falls die Datei php-SAPI.ini existiert (wobei SAPI die verwendete SAPI ist, was als Dateinamen z. B. php-cli.ini oder php-apache.ini ergibt), wird diese anstelle der php.ini verwendet. Der Name der SAPI kann durch php_sapi_name() ermittelt werden.

Hinweis:

Der Apache-Webserver wechselt beim Start das Arbeitsverzeichnis in das Wurzelverzeichnis, weshalb PHP versucht, die php.ini aus dem Wurzelverzeichnis zu lesen, wenn diese existiert.

Wie untenstehend gezeigt, können Umgebungsvariablen in php.ini verwendet werden.

Beispiel #1 php.ini Umgebungsvariablen

; PHP_MEMORY_LIMIT ist der Name einer Umgebungsvariablen
memory_limit = $

Die Optionen der php.ini für Extensions werden auf den Handbuchseiten der jeweiligen Extensions behandelt. Die Beschreibung der php.ini-Direktiven des Sprachkerns ist im Anhang verfügbar. Es werden jedoch möglicherweise nicht alle PHP-Direktiven im Handbuch erläutert. Für eine komplette Liste der in Ihrer PHP-Version verfügbaren Einstellungen lesen Sie bitte die gut kommentierte php.ini. Möglicherweise kann die » aktuellste php.ini aus dem Git-Repository ebenfalls hilfreich sein.

Beispiel #2 php.ini-Beispiel

; Jeder Text in einer Zeile nach einem Semikolon, welches nicht
; in Anführungszeichen steht, wird ignoriert
[php] ; Abschnittsmarkierungen (Text in eckigen Klammern) werden ebenfalls ignoriert
; Boolesche Werte können auf einen der folgenden Werte eingestellt werden:
;      true, on, yes
; oder false, off, no, none
register_globals = off
track_errors = yes

; Sie können Zeichenketten in Anführungszeichen einschließen
include_path = ".:/usr/local/lib/php"

; Backslashes werden wie alle anderen Zeichen behandelt
include_path = ".;c:\php\lib"

Es ist möglich, sich auf bereits definierte .ini-Variablen innerhalb der .ini-Dateien zu beziehen. Zum Beispiel: open_basedir = $":/new/dir".

Scan-Verzeichnisse

Es ist möglich, PHP so zu konfigurieren, dass nach .ini Dateien in einem Verzeichnis gesucht wird, nachdem php.ini gelesen wurde. Dies kann zur Kompilierzeit durch Setzen der Option --with-config-file-scan-dir erfolgen. Das Scan-Verzeichnis kann zur Laufzeit überschrieben werden, indem die Umgebungsvariable PHP_INI_SCAN_DIR gesetzt wird.

Es ist möglich, mehrere Verzeichnisse anzugeben, indem sie mit dem plattformspezifischen Pfadtrenner (; unter Windows, NetWare und RISC OS; : auf allen anderen Plattformen; der Wert, den PHP verwendet, is als PATH_SEPARATOR verfügbar). Wird in PHP_INI_SCAN_DIR ein leeres Verzeichnis angegeben, dann wird PHP beim Kompilieren auch das mit --with-config-file-scan-dir angegebene Verzeichnis durchsuchen.

In jedem Verzeichnis wird PHP alle Dateien mit der Erweiterung .ini in alphabetischer Reihenfolge lesen. Eine gemäß der Reihenfolge geordnete Liste der geladenen Dateien ist durch Aufruf von php_ini_scanned_files() verfügbar, oder indem PHP mit der Option --ini ausgeführt wird.

Wir nehmen an, dass PHP mit --with-config-file-scan-dir=/etc/php.d kompiliert
wurde, und dass der Pfadtrenner : ist...

$ php
  PHP wird alle Dateien in /etc/php.d/*.ini als Konfigurationsdateien laden.

$ PHP_INI_SCAN_DIR=/usr/local/etc/php.d php
  PHP wird alle Dateien in /usr/local/etc/php.d/*.ini als
  Konfigurationsdateien laden.

$ PHP_INI_SCAN_DIR=:/usr/local/etc/php.d php
  PHP wird alle Dateien in /etc/php.d/*.ini, und dann
  /usr/local/etc/php.d/*.ini als Konfigurationsdateien laden.

$ PHP_INI_SCAN_DIR=/usr/local/etc/php.d: php
  PHP wird alle Dateien in /usr/local/etc/php.d/*.ini, und dann
  /etc/php.d/*.ini als Konfigurationsdateien laden.

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe
Es sind noch keine Kommentare vorhanden.

PHP cURL-Tutorial: Verwendung von cURL zum Durchführen von HTTP-Anfragen

cURL ist eine leistungsstarke PHP-Erweiterung, die es Ihnen ermöglicht, mit verschiedenen Servern über verschiedene Protokolle wie HTTP, HTTPS, FTP und mehr zu kommunizieren. ...

TheMax

Autor : TheMax
Kategorie: PHP-Tutorials

Midjourney Tutorial - Anleitung für Anfänger

Über Midjourney, dem Tool zur Erstellung digitaler Bilder mithilfe von künstlicher Intelligenz, gibt es ein informatives Video mit dem Titel "Midjourney Tutorial auf Deutsch - Anleitung für Anfänger" ...

Mike94

Autor : Mike94
Kategorie: KI Tutorials

Grundlagen von Views in MySQL

Views in einer MySQL-Datenbank bieten die Möglichkeit, eine virtuelle Tabelle basierend auf dem Ergebnis einer SQL-Abfrage zu erstellen. ...

admin

Autor : admin
Kategorie: mySQL-Tutorials

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen

How to overcome Safari's iframe cookie block?

To overcome Safari's iframe cookie block, you can use the SameSite=None; Secure cookie attribute in conjunction with a third-party domain that sup ...

Geschrieben von Joniemartinez am 21.12.2024 13:28:24
Forum: HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS
Probleme mit speichern in Datenbank in französisch

Les erreurs fréquentes lors de l'enregistrement de données dans une base de données incluent des problèmes de connexion, des erreurs de syntax ...

Geschrieben von Alice12 am 18.12.2024 05:07:21
Forum: PHP Developer Forum
Gibt es eine API zum Abrufen von PHP-Code-Referenzen?

PHP.net bietet eine umfassende Online-Dokumentation für PHP. Es gibt keine offizielle API zum Abrufen von PHP-Dokumentationen direkt, aber du kan ...

Geschrieben von Alice12 am 18.12.2024 05:03:27
Forum: PHP Developer Forum
Ein data POST via Curl funktioniert nicht.

It looks like your PHP cURL request isn't working because you're not properly setting the CURLOPT_CUSTOMREQUEST option; it should be a string, so ...

Geschrieben von noah1600 am 16.12.2024 04:16:13
Forum: PHP Developer Forum