2010-06-16 5 views
54

Es scheint, dass die PHP-Kommandozeile eine andere php.ini vom Hauptphp-Interpreter benutzt. 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 dies nicht vorhanden, und daher habe ich einen Pfadeinschlussfehler.wo finde ich die php.ini für php-cli

dank

+0

mögliche Duplikate von [Wie finde ich die von der Kommandozeile verwendete Datei php.ini?] (Http://stackoverflow.com/questions/2750580/how-to-find-the-php-ini- file-used-by-the-command-line) – Wrikken

Antwort

113

Fragen Sie einfach PHP:

$ php -i |grep php\.ini

+0

Bessere Antwort als meine, wie es für nicht-Standard-und Nicht-Ubuntu verwendet wird. – ceejayoz

+1

Weitere Informationen: http://stackoverflow.com/a/2750582/789658 – Costa

+0

Das hat bei mir funktioniert !!! –

54

Besser noch: $ php --ini

Dies zeigt auch alle zusätzlichen ini geladenen Dateien (in der Regel hängen in etwas conf.d dir in debian):

Konfigurationsdatei (php.ini) Pfad:/etc/php5/cli
Loaded Configuration File: /etc/php5/cli/php.ini
Scan für weitere INI-Dateien in/etc/php5/cli/conf.d
Weitere INI-Dateien analysiert: /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 dies über php-cli war, php-cgi hat dieses afaik nicht.

+0

Ein Hinweis zu allen 'conf.d' Dateien - in Ubuntu ist dieser Ordner ein Symlink, also werden sie in allen PHP-Anwendungen geteilt. – ceejayoz

+0

Wie es in Debian standardmäßig ist, vorausgesetzt, es wurde von den normalen Repositories installiert. – Wrikken

7

Bei meinem letzten Job habe ich die Gewohnheit, bei jeder Ausführung meiner ini-Datei anzugeben ...

C:\php\cli\php.exe -c C:\php\php.ini myscript.php 
+0

Interessant. Ich mag das. Ich habe das jetzt für einen meiner Cron-Jobs mit einer benutzerdefinierten php.ini-Datei verwendet. – Mike

-3

ich hatte das gleiche Problem. Überprüfen Sie einfach Besitzer und Berechtigungen von jeder Datei in /etc/php5/conf.d/. Es muss von root und readable von anyone sein.

+0

Nein, es muss nur durch den Prozess lesbar sein, der Besitzer kann jeder sein. zumindest unter linux. – Wrikken

1

Sie können php.ini mit dem folgenden Befehl finden.in LINUX

find/-name php.ini 

oder

locate php.ini 
+0

das beantwortet die Frage nicht – ninja

0

Interessante in Fenstern besteht darin, dass in beiden Tests (auf Apache mit phpinfo() und in cli mit PHP --ini), die Konfigurationsdatei Pfad c: \ Fenster. Weitere Informationen here