wo finde ich die php.ini für php-cli

68

Es scheint, dass die PHP-Befehlszeile eine andere php.ini als der Haupt-PHP-Interpreter verwendet. Ich benutze Ubuntu 10.4. Mein Problem ist, dass ich in der Haupt-php.ini einen zusätzlichen Pfad für eine externe Bibliothek eingefügt habe, aber in der cli-Version ist dieser nicht vorhanden, und daher habe ich einen Pfadeinschlussfehler.

Vielen Dank

Elzo Valugi
quelle

Antworten:

149

Fragen Sie einfach PHP:

php -i |grep php\.ini
timdev
quelle
Bessere Antwort als meine, da es für nicht standardmäßige und nicht Ubuntu-Anwendungen funktioniert.
Ceejayoz
Ich Configuration File (php.ini) Path => /usr/local/lib64verstehe, aber die php.ini befindet sich nicht in diesem Ordner.
Schwarz
Wenn Sie es nicht sehen php.ini, bedeutet es, dass es nicht existiert und PHP Standardwerte annimmt. Sie können eine neue php.iniDatei in diesem Verzeichnis erstellen .
Jsowa
67

Besser noch: $ php --ini

Dies zeigt auch alle zusätzlichen * .ini-Dateien an, die geladen wurden (normalerweise hängen sie in einem conf.d-Verzeichnis in debian herum):

Konfigurationsdatei (php.ini) Pfad: / etc / php5 / cli
Geladene Konfigurationsdatei: /etc/php5/cli/php.ini Suchen Sie
nach zusätzlichen INI-Dateien in: /etc/php5/cli/conf.d
Zusätzliche INI analysierte Dateien: /etc/php5/cli/conf.d/apc.ini,
/etc/php5/cli/conf.d/curl.ini,
/etc/php5/cli/conf.d/gd.ini,
/ etc. /php5/cli/conf.d/geoip.ini,
/etc/php5/cli/conf.d/imagick.ini,
/etc/php5/cli/conf.d/imap.ini,
/ etc / php5 / cli / conf.d / ldap.ini,
/etc/php5/cli/conf.d/memcache.ini,
/etc/php5/cli/conf.d/memcached.ini,
/etc/php5/cli/conf.d/ming .ini,
/etc/php5/cli/conf.d/mysql.ini,
/etc/php5/cli/conf.d/mysqli.ini,
/etc/php5/cli/conf.d/pdo.ini,
/etc/php5/cli/conf.d/pdo_mysql.ini,
/etc/php5/cli/conf.d/pdo_sqlite.ini,
/etc/php5/cli/conf.d/snmp.ini,
/ etc / php5 / cli / conf.d / sqlite.ini,
/etc/php5/cli/conf.d/sqlite3.ini,
/etc/php5/cli/conf.d/suhosin.ini,
/etc/php5/cli/conf.d /tidy.ini,
/etc/php5/cli/conf.d/xdebug.ini,
/etc/php5/cli/conf.d/xsl.ini

Beachten Sie, dass es sich um php-cli handelte, php-cgi hat dieses afaik nicht.

Wrikken
quelle
Ein Hinweis zu allen conf.dDateien - in Ubuntu ist dieser Ordner ein Symlink, sodass sie für alle PHP-Anwendungen freigegeben sind.
Ceejayoz
Wie in Debian standardmäßig vorausgesetzt, wird eines aus den normalen Repositorys installiert.
Wrikken
8

Bei meinem letzten Job habe ich mir angewöhnt, bei jeder Ausführung meine INI-Datei anzugeben ...

C:\php\cli\php.exe -c C:\php\php.ini myscript.php
Fosco
quelle
Interessant. Ich mag das. Ich habe dies gerade für einen meiner Cron-Jobs mit einer benutzerdefinierten php.ini-Datei verwendet.
Mike
3

Sie finden php.ini mit dem folgenden Befehl. in LINUX

find / -name php.ini

oder

locate php.ini
Nanhe Kumar
quelle
Dies beantwortet nicht die Frage
Ninja
@ninja, warum nicht?
Schwarz
0

/etc/php5/cli/php.ini

ceejayoz
quelle
0

Interessant an Windows ist, dass in beiden Tests (auf Apache mit phpinfo () und in CLI mit php --ini) der Pfad der Konfigurationsdatei c: \ windows lautet. Mehr Infos hier

Timo
quelle
-3

Ich hatte das gleiche Problem. Überprüfen Sie einfach den Eigentümer und die Berechtigungen aller Dateien in /etc/php5/conf.d/. Es muss im Besitz von root sein und von jedermann lesbar sein.

user538444
quelle
Nein, es muss nur für den Prozess lesbar sein, der Besitzer kann jeder sein. Zumindest unter Linux.
Wrikken