Jak znaleźć php.plik ini używany przez linię poleceń?

Muszę włączyć pdo_mysql w moim środowisku EasyPhp, więc poszedłem do php.plik ini i nie zawiera następującej linijki:

extension=php_pdo_mysql.dll
Niestety nadal mam ten sam problem. Używam CLI więc przypuszczam, że muszę zlokalizować php.plik INI używany przez CLI. Jak mogę go znaleźć?
 317
Author: Amokrane Chentir, 2010-05-01

13 answers

Just run php --ini

 752
Author: Mchl,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-19 07:11:40

Możesz uzyskać pełne phpinfo() używając :

php -i 

A tam jest plik php.ini użyty :

$ php -i | grep 'Configuration File'
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini

W systemie Windows find zamiast:

php -i|find/i"configuration file"
 344
Author: Pascal MARTIN,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-16 10:50:14
php --ini

Poda ci wszystkie szczegóły dotyczące ścieżki użycia i możliwych plików ini

 32
Author: Lode,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-13 12:11:45

Możesz użyć get_cfg_var('cfg_file_path') do tego:

Aby sprawdzić, czy system używa pliku konfiguracyjnego, spróbuj pobrać wartość ustawienia konfiguracyjnego cfg_file_path. Jeśli jest to dostępne, używany jest plik konfiguracyjny.
W przeciwieństwie do phpinfo() powie, czy nie znalazła/nie użyła php.ini w ogóle.
var_dump( get_cfg_var('cfg_file_path') );

I można po prostu Ustaw lokalizację php.ini . Używasz wersji wiersza poleceń, więc używając parametru -c możesz może określić lokalizację, np.

php -c /home/me/php.ini -f /home/me/test.php
 13
Author: VolkerK,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-05-01 16:06:35

Uruchom php --ini w terminalu, otrzymasz wszystkie szczegóły dotyczące plików ini

[root@tamilan src]# php --ini
Configuration File (php.ini) Path: /etc
Loaded Configuration File:         /etc/php.ini
Scan for additional .ini files in: /etc/php.d
Additional .ini files parsed:      /etc/php.d/apc.ini,
/etc/php.d/bcmath.ini,
/etc/php.d/curl.ini,
/etc/php.d/dba.ini,
/etc/php.d/dom.ini,
/etc/php.d/fileinfo.ini,
/etc/php.d/gd.ini,
/etc/php.d/imap.ini,
/etc/php.d/json.ini,
/etc/php.d/mbstring.ini,
/etc/php.d/memcache.ini,
/etc/php.d/mysql.ini,
/etc/php.d/mysqli.ini,
/etc/php.d/pdo.ini,
/etc/php.d/pdo_mysql.ini,
/etc/php.d/pdo_sqlite.ini,
/etc/php.d/phar.ini,
/etc/php.d/posix.ini,
/etc/php.d/sqlite3.ini,
/etc/php.d/ssh2.ini,
/etc/php.d/sysvmsg.ini,
/etc/php.d/sysvsem.ini,
/etc/php.d/sysvshm.ini,
/etc/php.d/wddx.ini,
/etc/php.d/xmlreader.ini,
/etc/php.d/xmlwriter.ini,
/etc/php.d/xsl.ini,
/etc/php.d/zip.ini

Aby uzyskać więcej informacji, użyj polecenia pomocy php --help wyświetli wszystkie możliwe opcje.

 13
Author: Sathish,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-01-03 07:29:39

Jeśli chcesz załadować wszystkie pliki konfiguracyjne, to powie Ci:

php -i | grep "\.ini"

Niektóre systemy ładują rzeczy z więcej niż jednego pliku ini. Na moim systemie ubuntu wygląda to tak:

$  php -i | grep "\.ini"
Configuration File (php.ini) Path => /etc/php5/cli
Loaded Configuration File => /etc/php5/cli/php.ini
Scan this dir for additional .ini files => /etc/php5/cli/conf.d
additional .ini files parsed => /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/mcrypt.ini,
/etc/php5/cli/conf.d/memcache.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
 6
Author: Reece45,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-05-01 17:13:27

Czasami rzeczy nie zawsze są takie, jak się wydają, jeśli chodzi o pliki konfiguracyjne w ogóle. Więc tutaj stosuję moje zwykłe metody do sprawdzania, jakie pliki są otwierane przez proces.

Używam bardzo potężnego i użytecznego programu wiersza poleceń o nazwie strace aby pokazać mi, co naprawdę dzieje się za moimi plecami!

$ strace -o strace.log php --version
$ grep php.ini strace.log

Strace wykopuje wywołania jądra (systemu), które wykonuje Twój program i wrzuca dane wyjściowe do pliku określonego przez-o

Jest łatwy w użyciu grep do wyszukiwanie wystąpień php.ini w tym dzienniku. To dość oczywiste, patrząc na następującą typową odpowiedź, aby zobaczyć, co się dzieje.

open("/usr/bin/php.ini", O_RDONLY)      = -1 ENOENT (No such file or directory)
open("/etc/php.ini", O_RDONLY)          = 3
lstat("/etc/php.ini", {st_mode=S_IFREG|0644, st_size=69105, ...}) = 0
 6
Author: thomas-peter,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-27 13:00:06

Na OSX Mavericks, działa:

$ php -i | grep 'Configuration File'

Zwrócony:

Configuration File (php.ini) Path => /etc
Loaded Configuration File:         (none)

W katalogu /etc/ było:

php.ini.default

(jak również php-fpm.conf.default)

Udało mi się skopiować php.ini.default do php.ini, Dodać date.timezone = "US/Central" do góry (tuż pod [php]) i problem rozwiązany.

(przynajmniej komunikat o błędzie zniknął.)

 6
Author: MikeiLL,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-28 22:25:13

Jeśli chcesz przekazać go do innej aplikacji, możesz zrobić coś takiego:

php --ini | grep Loaded | cut -d" " -f12

Zwraca tylko ścieżkę. php -c $(php --ini | grep Loaded | cut -d" " -f12) przejdzie w pliku konfiguracyjnym (przydatne dla fpm)

 4
Author: Mike Mackintosh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-31 02:52:27

Z tego, co pamiętam, kiedy używałem EasyPHP, php.plik ini jest albo w C:\Windows\ albo C:\Windows\System32

 3
Author: Tim Cooper,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-05-01 15:57:02

W Twoim php.plik ini ustawia katalog rozszerzeń, np.:

extension_dir = "C:/php/ext/"

Zobaczysz w folderze PHP folder ext ze wszystkimi dll i rozszerzeniami.

 1
Author: Marc Uberstein,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-19 07:34:21

Do

find / -type f -name "php.ini" 

Wyświetli wszystkie pliki o nazwie php.ini.

Dowiedz się, którego z nich używasz, zwykle apache2/php.ini

 1
Author: Han Van Pham,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-27 08:58:39

Nie ma php.ini używane przez wiersz poleceń. Musisz skopiować plik z ...EasyPHP-<<version>>\apache\php.ini do ...EasyPHP-<<version>>\php\php.ini, a następnie edytować ten w PHP katalogu

Odniesienie:

 -4
Author: antitoxic,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:26:20