2010-06-16 23 views
54

Wygląda na to, że linia poleceń php używa innego php.ini z głównego interpretera php. Używam Ubuntu 10.4. Mój problem polega na tym, że w głównym php.ini dodałem dodatkową ścieżkę do zewnętrznej biblioteki, ale w wersji cli to nie jest obecne, więc mam błąd włączania ścieżki.gdzie mogę znaleźć php.ini dla php-cli

dzięki

+0

możliwy duplikat [Jak znaleźć plik php.ini używany przez linię poleceń?] (Http://stackoverflow.com/questions/2750580/how-to-find-the-php-ini- file-used-by-the-command-line) – Wrikken

Odpowiedz

113

Wystarczy zapytać PHP:

$ php -i |grep php\.ini

+0

Lepsza odpowiedź niż moja, ponieważ będzie działać dla nie-domyślnych i nie-Ubuntu. – ceejayoz

+1

Więcej informacji: http://stackoverflow.com/a/2750582/789658 – Costa

+0

To zadziałało dla mnie !!! –

54

jeszcze lepiej: $ php --ini

To pokaże również wszystkie dodatkowe pliki * .ini załadowane (zwykle wiszące w niektórych conf.d dir w debian):

Configuration File (php.ini) Ścieżka:/etc/php5/cli
Loaded Configuration File: /etc/php5/cli/php.ini
skanowania dodatkowych plików .ini w/etc/php5/CLI/conf.d
Dodatkowe pliki ini analizowany: /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

Zauważ, że chodziło o php-cli, php-cgi nie ma tego afaika.

+0

Uwaga na temat wszystkich plików 'conf.d' - w Ubuntu ten folder jest dowiązaniem symbolicznym, więc są one wspólne dla wszystkich aplikacji PHP. – ceejayoz

+0

Jak to jest domyślnie w Debianie, zakładając, że zainstalowano go z normalnych repozytoriów. – Wrikken

7

W mojej ostatniej pracy, mam w zwyczaju podając mój plik ini na każdym wykonaniu ...

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

Interesujące. Lubię to. Właśnie użyłem tego dla jednego z moich zadań cron z niestandardowym plikiem php.ini. – Mike

-3

miałem ten sam problem. Po prostu sprawdź właściciela i uprawnienia każdego pliku w /etc/php5/conf.d/. Musi być własnością root i może być dający się kontrolować przez anymone.

+0

Nie, to musi być możliwe do odczytania przez proces, właścicielem może być każdy. przynajmniej pod Linuksem. – Wrikken

1

Możesz znaleźć plik php.ini, używając poniższej komendy.w Linux

find/-name php.ini 

lub

locate php.ini 
+0

to nie odpowiada na pytanie – ninja

0

Interesujące jest to, że w okna w obu testach (na Apache phpinfo() i cli PHP --ini), ścieżka plik konfiguracyjny c: \ Windows. Więcej informacji: here

Powiązane problemy