2017-01-05 1 views
1

In der documentation for php.ini heißt es, dass "php.ini wird gesucht in ... [der] aktuellen Arbeitsverzeichnis (außer CLI)".Wie erzwinge PHP CLI meine .user.ini Datei zu lesen?

Warum liest es nicht meine .user.ini file bei der Ausführung über CLI? Gibt es eine Möglichkeit, PHP so zu konfigurieren, dass es immer das aktuelle Verzeichnis (oder das Verzeichnis des Skripts) nach zusätzlichen ini-Dateien durchsucht?

Ich bin auf OSX, Homebrew PHP laufen. Meine Abhilfe ist PHP wie diese, die funktionieren (es nimmt alle regulären ini-Dateien und auch derjenige im aktuellen Arbeitsverzeichnis) zu laufen, aber es ist super umständlich:

PHP_INI_SCAN_DIR="/usr/local/etc/php/7.0/conf.d:." php [options] 

Gibt es eine Möglichkeit zu Konfigurieren Sie PHP so, dass dies das Standardverhalten ist? Fehle ich etwas?

+1

Sie könnten die Umgebungsvariable in Ihrem '.bashrc' setzen. – Barmar

+1

Die Verwendung von '.' in der Verzeichnisliste ist gefährlich. Dies bedeutet, dass das Verhalten des Skripts vom aktuellen Verzeichnis des Benutzers abhängt, wenn es ausgeführt wird. – Barmar

+0

Sie können die geladenen Ini-Dateien mit 'php --ini' abfragen, Sie könnten die Ini-Datei zum Laden zusätzlicher Ini-Dateien im" X "-Ordner einrichten oder überprüfen, ob dies bereits geschieht (normalerweise werden zusätzliche Ini-Dateien geladen) php-Bibliotheken wie 'pdo' oder ähnliches) – MikeVelazco

Antwort

2

Stellen Sie die PHP_INI_SCAN_DIR Variable in Ihrem .bashrc:

export PHP_INI_SCAN_DIR=/usr/local/etc/php/7.0/conf.d:. 

Dann ein neues Terminal-Fenster öffnen und es sollte diese Einstellung verwenden.