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


Antworten:


149

Fragen Sie einfach PHP:

php -i |grep php\.ini

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.


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

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

Dies beantwortet nicht die Frage
— Ninja

@ninja, warum nicht?
— Schwarz


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


-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.


Nein, es muss nur für den Prozess lesbar sein, der Besitzer kann jeder sein. Zumindest unter Linux.
— Wrikken
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.