Signatur
Beschreibung
php_ini_loaded_file() ermittelt den absoluten Pfad zur php.ini-Datei, die PHP beim Start geladen hat. Dies ist nützlich, um schnell herauszufinden, welche Konfigurationsdatei tatsächlich aktiv ist – insbesondere in Umgebungen, in denen mehrere PHP-Versionen oder verschiedene SAPI-Modi (CLI, FPM, Apache-Modul) parallel betrieben werden.
Wird keine php.ini-Datei geladen (z. B. wenn PHP mit der Option -n gestartet wird oder keine Datei gefunden wurde), gibt die Funktion false zurück. In diesem Fall greift PHP ausschließlich auf die internen Standardwerte zurück.
Die Funktion ist besonders hilfreich bei Diagnose- und Debugging-Skripten sowie bei Installer-Skripten, die prüfen müssen, ob und wo eine php.ini vorhanden ist. Sie ersetzt die manuelle Auswertung von phpinfo() oder das Parsen der CLI-Ausgabe von php --ini.
Zu beachten ist, dass zusätzliche .ini-Dateien, die über das Verzeichnis scan_dir geladen werden, von dieser Funktion nicht berücksichtigt werden. Für diese kann php_ini_scanned_files() verwendet werden.
Rückgabewert
php.ini als string zurück, oder false, wenn keine php.ini-Datei geladen wurde.Beispiele
Pfad der aktiven php.ini ausgeben
<?php
$iniPath = php_ini_loaded_file();
if ($iniPath !== false) {
echo 'Geladene php.ini: ' . $iniPath . PHP_EOL;
} else {
echo 'Keine php.ini geladen – PHP verwendet interne Standardwerte.' . PHP_EOL;
}
Kombination mit php_ini_scanned_files()
<?php
// Hauptkonfiguration
$main = php_ini_loaded_file();
echo 'Haupt-INI: ' . ($main !== false ? $main : '(keine)') . PHP_EOL;
// Zusätzlich geladene INI-Dateien aus dem Scan-Verzeichnis
$scanned = php_ini_scanned_files();
if ($scanned !== false && $scanned !== '') {
$files = array_map('trim', explode(',', $scanned));
echo 'Zusätzliche INI-Dateien:' . PHP_EOL;
foreach ($files as $file) {
echo ' - ' . $file . PHP_EOL;
}
} else {
echo 'Keine zusätzlichen INI-Dateien gescannt.' . PHP_EOL;
}
// Wichtig · Fallstricke
Nur die Haupt-INI: php_ini_loaded_file() liefert ausschließlich den Pfad der primären php.ini. Weitere Konfigurationsdateien, die über das Scan-Verzeichnis eingebunden werden, sind über php_ini_scanned_files() abrufbar.
CLI-Option -n: Wird PHP mit php -n script.php gestartet, wird bewusst keine php.ini geladen, und die Funktion gibt false zurück. Deployment- und Test-Skripte sollten diesen Fall explizit behandeln.
SAPI-Unterschiede: Der zurückgegebene Pfad kann je nach verwendetem SAPI (z. B. CLI vs. PHP-FPM vs. Apache mod_php) unterschiedlich sein, da jede SAPI eine eigene php.ini verwenden kann.