Frage

Ich habe festgestellt, dass:

Wenn ich den folgenden auf Terminal-Typ:

php -i | grep php.ini

ich die Ausgabe bekommen:

  

Die Loaded Konfigurationsdatei ist @ /etc/php5/cli/php.ini

Doch von phpinfo() ich zu sehen bekommen:

  

Die geladene ini-Datei @ /etc/php5/apache2/php.ini

Welche von ihnen ist gerade jetzt zu arbeiten? Wie ist es möglich, zwei php.ini Dateien zu haben?

War es hilfreich?

Lösung

Hängt davon ab, wo Sie PHP laufen aus. Wenn Sie es von der Kommandozeile ausführen, verwendet es die cli/php.ini und apache2/php.ini wenn durch Apache laufen.

Sie ausführen phpinfo() über den Browser, Sie daher /etc/php5/apache2/php.ini als Antwort bekommen. Laufen php -r "phpinfo();" | grep "Loaded Configuration" vom Terminal ausgeben sollte die CLI ini. Gleiche Funktion, Kontextänderungen.

Der Vorteil dieses Systems ist offensichtlich unterschiedliche Konfigurationen zu ermöglichen, je nach Kontext. Für ein vereinfachtes Beispiel könnten Sie safe_mode auf in Apache haben, aber es ist nicht notwendig im CLI-Modus.

Ihre .ini Wege sind eigentlich recht ungewöhnlich. Normalerweise ist die Standard-ini ist nur php.ini und CLI ini heißt php-cli.ini und sie befinden sich in demselben Ordner.

Ich bin kein Experte auf diesem Gebiet, aber dies sollte die grundlegende Idee. Wenn jemand irgendwelche Korrekturen hat, würde ich mich freuen, sie zu hören.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top