Gdzie mogę znaleźć php.ini?

Kilka lat temu zainstalowałem Apache 2.2 x i PHP 5.3.1 na serwerze Linux, który utrzymuję. Używałem .smoła.gz i zbudował je zgodnie z instrukcją (zamiast rpms i co-masz-ty). I wszystko było w porządku.

Dzisiaj muszę zainstalować to , które wygląda jak biblioteka PHP. Przeszedłem przez wszystkie kroki, aby zainstalować i znalazłem ibm_db2.so in $PHP_HOME/lib/extensions/somecomplicatedname/ibm_db2.so

Wielki haczyk jest ostatnim krokiem jest skonfigurowanie php.ini ale nie ma php.ini w moim systemie. Horror horroru. PHP działa dobrze, z wyjątkiem oczywiście tego nowego ibm_db2 thingamagic, którego chcę użyć, aby ktoś mógł użyć GUI do majstrowania z DB2. (Próbowałem małego skryptu php, który się nie powiedzie i wskazuje, że funkcje ibm_db2 nie są dostępne).

Mam do czynienia z PHP raz na kilka lat, więc proszę oświeć mnie na bardzo podstawowym poziomie o tym, co mogę zrobić, aby umożliwić dostęp do interfejsu graficznego w internecie DB2.

Author: yivi, 2011-12-30

15 answers

Najlepszym sposobem na znalezienie tego jest: Utwórz plik php i dodaj następujący kod:

<?php phpinfo(); ?>

I otworzyć go w przeglądarce, pokaże plik, który jest rzeczywiście odczytany!

Aktualizacje przez OP:

  1. wcześniej przyjęta odpowiedź prawdopodobnie będzie szybsza i wygodniejsza dla ciebie, ale nie zawsze jest poprawna. Zobacz komentarze do tej odpowiedzi.
  2. zwróć również uwagę na wygodniejszą alternatywę <?php echo php_ini_loaded_file(); ?> wspomnianą w tej odpowiedzi.
 500
Author: Tejas,
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-06-27 15:55:12

W linii poleceń wykonaj:

php --ini

Dostaniesz coś w stylu:

Configuration File (php.ini) Path: /etc/php5/cli
Loaded Configuration File:         /etc/php5/cli/php.ini
Scan for additional .ini files in: /etc/php5/cli/conf.d
Additional .ini files parsed:      /etc/php5/cli/conf.d/curl.ini,
/etc/php5/cli/conf.d/pdo.ini,
/etc/php5/cli/conf.d/pdo_sqlite.ini,
/etc/php5/cli/conf.d/sqlite.ini,
/etc/php5/cli/conf.d/sqlite3.ini,
/etc/php5/cli/conf.d/xdebug.ini,
/etc/php5/cli/conf.d/xsl.ini
To z mojej lokalnej dev-machine. Jednak druga linia jest interesująca. Jeśli nic nie jest wymienione, spójrz na pierwszy. To jest ścieżka, gdzie PHP szuka php.ini.

Możesz grep te same informacje za pomocą phpinfo() w skrypcie i wywołać je za pomocą przeglądarki. Jego wspomniany w pierwszym bloku wyjścia. php -i robi to samo dla wiersza poleceń, ale jego całkiem niewygodne.

 895
Author: KingCrunch,
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-01-14 02:43:57

To działa dla mnie:

php -i | grep 'php.ini'

Powinieneś zobaczyć coś w stylu:

Loaded Configuration File => /usr/local/lib/php.ini

P. s. Aby uzyskać tylko php.ścieżka inin

php -i | grep /.+/php.ini -oE
 148
Author: coderama,
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-16 06:40:09

W oknie poleceń Typ

php --ini

Pokaże Ci ścieżkę coś w stylu

Configuration File (php.ini) Path: /usr/local/lib
Loaded Configuration File:         /usr/local/lib/php.ini

Jeśli powyższe polecenie nie działa, użyj tego

echo phpinfo();
 66
Author: bibliophilsagar,
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-10-09 12:36:25

To polecenie powinno pomóc ci je znaleźć

php -r "phpinfo();" | grep php.ini
 35
Author: Rimantas Jacikevicius,
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-01-09 16:59:39

Użyj następujących poleceń, aby znaleźć ścieżkę php.ini w Linuksie.

[root@AnyDirectory ~]# locate php.ini
/etc/php.ini
/etc/php.ini.rpmnew
/usr/share/doc/php-common-5.4.45/php.ini-development
/usr/share/doc/php-common-5.4.45/php.ini-production


albo spróbuj w inny sposób

[root@AnyDirectory ~]# php --ini
its pokazuje wynik ścieżki

 31
Author: Sakthi Karthik,
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-11-22 05:04:25
phpinfo();

Powie Ci jego lokalizację, lub z linii poleceń

php -i
 27
Author: Leniel Maccaferri,
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
2012-08-15 14:32:24

PHP jest wyposażony w dwie natywne funkcje, które pokazują, który plik konfiguracyjny jest załadowany:

W zależności od konfiguracji, Apache i CLI mogą używać różnych plików ini. Oto dwa rozwiązania:

Apache:

Po prostu dodaj następujący plik php i otwórz go w swoim przeglądarka

print php_ini_loaded_file();
print_r(php_ini_scanned_files());

CLI:

Kopiuj-Wklej w Terminalu:

php -r 'print php_ini_loaded_file(); print_r(php_ini_scanned_files());'
 23
Author: Creaforge,
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-10-06 14:28:48

Uruchom to w wierszu poleceń:

php -r "echo php_ini_loaded_file().PHP_EOL;"
 11
Author: Max,
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
2020-06-24 21:30:10
find / -name php.ini
Hej... u mnie zadziałało!
 8
Author: Banned_User,
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-12-22 07:22:11

Wypróbuj jedno z tych rozwiązań

  1. W twoim typie terminala find / -name "php.ini"

  2. W twoim typie terminala php -i | grep php.ini. Powinien pokazać ścieżka do pliku jako Configuration File (php.ini) Path => /etc

  3. Jeśli masz dostęp do jednego z plików php, otwórz go w edytorze (notatniku) i wstaw poniższy kod po <?php w nowej linii phpinfo(); to powiem ci php.miejsce ini
  4. możesz także rozmawiać z php w trybie interaktywnym. Wystarczy wpisać php -a w terminala i wpisz phpinfo (); po php rozpoczęty.
 7
Author: cherankrish,
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
2019-06-07 16:57:07

Możesz uzyskać więcej informacji o swoich plikach konfiguracyjnych, używając czegoś takiego jak:

$ -> php -i | ack config # Use fgrep -i if you don't have ack

Configure Command =>  './configure'  ...
Loaded Configuration File => /path/to/php.ini
 4
Author: Mike Purcell,
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-12-30 22:25:22

Dla SAPI: php-fpm

Nie ma potrzeby tworzenia php.info plik (nie jest to dobra polityka, aby pozostawić go do przeczytania światu i tak). W wierszu poleceń:

php-fpm -i | more

Gdzieś w swoim wyjściu wyświetli ten wiersz:

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

Tutaj jest bardziej kompletne wyjaśnienie: https://www.cloudinsidr.com/content/how-to-figure-out-your-php-configuration-parameters-without-info-php/

 4
Author: NightKnight on Cloudinsidr.com,
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-12-23 07:48:29

Istnieje kilka ważnych sposobów na zlokalizowanie php.plik ini, ale jeśli natknąłeś się na tę stronę, ponieważ chcesz coś z nią zrobić w skrypcie bash:

path_php_ini="$(php -i | grep 'Configuration File (php.ini) Path' | grep -oP '(?<=\=\>\s).*')" echo ${path_php_ini}

 -1
Author: CragMonkey,
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-01-04 04:37:18

Użyj <?php echo phpinfo(); ?>.

Na stronie wyświetlana jest tabela pokazująca położenie php.ini.

 -1
Author: AD-1,
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
2021-02-12 19:06:02