Start · Sprachen · PHP · Referenz · get_cfg_var

get_cfg_var

Funktion

Liest den Wert einer PHP-Konfigurationsoption direkt aus der ursprünglichen <code>php.ini</code>-Datei, ohne Laufzeit-Änderungen zu berücksichtigen.

seit PHP 4.0.0 Kategorie: misc

Signatur

get_cfg_var(string $option): string|false

Beschreibung

get_cfg_var() gibt den Wert einer Konfigurationsoption zurück, so wie er in der php.ini-Datei (oder einer eingebundenen Konfigurationsdatei) definiert wurde. Im Gegensatz zu ini_get() spiegelt diese Funktion nicht Werte wider, die zur Laufzeit per ini_set() oder durch .htaccess/httpd.conf-Direktiven verändert wurden.

Dies macht get_cfg_var() besonders nützlich, wenn man den ursprünglich konfigurierten Wert überprüfen möchte, unabhängig davon, was zur Laufzeit möglicherweise überschrieben wurde. Ein typischer Anwendungsfall ist das Debugging von Konfigurationsproblemen oder das Überprüfen der Basis-PHP-Einstellungen beim Serverstart.

Die Funktion liest ausschließlich aus der php.ini und den über cfg_file_path eingebundenen Konfigurationsdateien. Werte, die nur per ini_set() gesetzt wurden und keine Entsprechung in der php.ini haben, werden von get_cfg_var() nicht zurückgegeben.

Für den normalen Einsatz empfiehlt sich in den meisten Fällen ini_get(), da es den aktuell aktiven Wert liefert. get_cfg_var() ist ein spezialisiertes Werkzeug für den Vergleich von Basis- und Laufzeit-Konfiguration.

Parameter

Name Typ Default Beschreibung
$option Pflicht string Der Name der PHP-Konfigurationsoption, deren Wert aus der php.ini gelesen werden soll (z. B. 'memory_limit', 'display_errors').

Rückgabewert

Typ
string|false
Beschreibung
Gibt den Wert der Konfigurationsoption als string zurück, wenn die Option in der php.ini vorhanden ist. Gibt false zurück, wenn die Option nicht existiert oder nicht aus der Konfigurationsdatei gelesen werden konnte.

Beispiele

Ursprünglichen php.ini-Wert lesen

<?php
// Den in php.ini definierten Wert für memory_limit lesen
$cfgValue = get_cfg_var('memory_limit');
if ($cfgValue !== false) {
    echo 'php.ini memory_limit: ' . $cfgValue;
} else {
    echo 'Option nicht in php.ini gefunden.';
}
php.ini memory_limit: 128M

Vergleich von php.ini-Wert und Laufzeit-Wert

<?php
// Zur Laufzeit den Wert ändern
ini_set('display_errors', '1');

// ini_get() liefert den aktuellen Laufzeit-Wert
$runtimeValue = ini_get('display_errors');

// get_cfg_var() liefert den ursprünglichen php.ini-Wert
$cfgValue = get_cfg_var('display_errors');

echo 'Laufzeit-Wert (ini_get):  ' . var_export($runtimeValue, true) . PHP_EOL;
echo 'php.ini-Wert (get_cfg_var): ' . var_export($cfgValue, true) . PHP_EOL;
Laufzeit-Wert (ini_get): '1' php.ini-Wert (get_cfg_var): '0'

// Wichtig · Fallstricke

Wichtig: get_cfg_var() liest ausschließlich den Wert aus der beim Start gelesenen php.ini. Änderungen durch ini_set(), Apache-Direktiven (php_value, php_flag) oder .htaccess-Einträge werden von dieser Funktion nicht berücksichtigt.

Die Funktion ist seit PHP 4 verfügbar, wird aber selten dokumentiert und in der Praxis kaum verwendet. Für die meisten Anwendungsfälle sollte stattdessen ini_get() bevorzugt werden, da es den tatsächlich aktiven Wert zur Laufzeit zurückgibt.