Чувак, где мой php.ini?

Несколько лет назад я установил Apache 2.2x и PHP 5.3.1 на Linux-сервер, который я обслуживаю. Я использовал .tar.gz'ы и собрал их в соответствии с инструкциями (вместо rpms и т.п.). И все было в порядке.

Сегодня мне нужно установить this, который кажется библиотекой PHP. Я прошел все шаги вплоть до make install, и нашел ibm_db2.so в $PHP_HOME/lib/extensions/somecomplicatedname/ibm_db2.so.

Загвоздка в том, что последний шаг - это настройка php.ini, но в моей системе нет php.ini. Ужас из ужасов. PHP работает нормально, за исключением, конечно, этой новомодной фичи ibm_db2, которую я хочу использовать, чтобы кто-то мог использовать GUI для работы с DB2. (Я попробовал небольшой php-скрипт, который не работает и показывает, что функции ibm_db2 недоступны).

Мне приходится иметь дело с PHP раз в несколько лет, поэтому, пожалуйста, просветите меня на самом базовом уровне о том, что я могу сделать, чтобы обеспечить доступ к DB2 через веб-интерфейс.

Комментарии к вопросу (5)

В командной строке выполните:

php --ini

Вы получите что-то вроде:

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

Это с моей локальной dev-машины. Однако интересна вторая строка. Если там ничего не указано, посмотрите на первую. Это путь, по которому PHP ищет php.ini.

Вы можете найти ту же информацию, используя phpinfo() в скрипте и вызвать его через браузер. Это указано в первом блоке вывода. php -i делает то же самое для командной строки, но это довольно неудобно.

Комментарии (10)
Решение

Лучший способ найти это: создайте php файл и добавьте следующий код:

<?php phpinfo(); ?>

и открыть его в браузере, он покажет файл, который действительно читается!

Обновления по ОП:

  1. Ранее было принято считать ответ, вероятно, будет быстрее и более удобным для вас, но это не всегда правильно. См. комментарии на этот ответ.
  2. Также обратите внимание на более удобную альтернативу в <?PHP Эхо php_ini_loaded_file(); ?> упоминается в этот ответ.
Комментарии (7)

Это работает для меня:

php -i | grep 'php.ini'

Вы должны увидеть нечто вроде:

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

С. С. Чтобы сделать только на PHP.путь иньин

php -i | grep /.+/php.ini -oE
Комментарии (4)

В окне тип команды

php --ini

Он покажет вам путь что-то вроде

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

Если приведенная выше команда не работает, то используйте этот

echo phpinfo();
Комментарии (0)

Эта команда должна помочь вам найти его

php -r "phpinfo();" | grep php.ini
Комментарии (1)

Используйте следующие команды, чтобы найти `в PHP.путь к ini-файл в линукс. <БР>

[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

<БР> или попробовать другой способ <БР>

[корень@AnyDirectory ~]# в PHP --ini-файл <БР> его показывает результат пути

Комментарии (1)
phpinfo();

подскажет вам его местоположение, или из командной строки

php -i
Комментарии (0)

PHP поставляется с двумя родными функции, чтобы показать, какой файл конфиг загружается :

  • php_ini_loaded_file возврат загружен файл ini
  • php_ini_scanned_files возвращает список .ini-файлы, полученные из дополнительных Ини реж

В зависимости от вашей установки, Апач и Кинк могут использовать различные ini файлы. Вот два решения :

Апачи :

Просто добавьте в php-файл и открыть его в вашем браузере

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

Кинк :

Копировать-вставить в свой терминал :

php -r 'print php_ini_loaded_file(); print_r(php_ini_scanned_files());'
Комментарии (4)
find / -name php.ini

Эй... он работал для меня!

Комментарии (3)

Для SAPI: пхп-ФПМ

Нет необходимости, чтобы создать файл php.info (это не очень хорошая политика, чтобы оставить его для мира, чтобы читать). В командной строке:

php-fpm -i | more

Где-то в его выходной, он покажет эту строку:

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

Вот более полное объяснение: https://www.cloudinsidr.com/content/how-to-figure-out-your-php-configuration-parameters-without-info-php/

Комментарии (0)

Вы можете получить более подробную информацию о ваших конфигурационных файлах, используя что-то вроде:

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

Configure Command =>  './configure'  ...
Loaded Configuration File => /path/to/php.ini
Комментарии (0)

Попробуйте это решение

  1. В тип терминала найти / -именем "на PHP.Ини"в

  2. В тип терминала РНР -я | grep РНР.Ини . Он должен показать путь к файлу, так как файл конфигурации (на PHP.Ини) путь => /и т. д.

  3. Если вы можете открыть один свой PHP-файл , откройте его в редакторе (Notepad) и вставьте ниже код после <?РНР новую линию функцию phpinfo(); это скажу вам по PHP.расположение Ини

  4. Вы также можете поговорить с PHP в интерактивном режиме. Просто введите PHP-а в терминал и типа функцию phpinfo(); после PHP инициировал.

Комментарии (2)

Существует несколько допустимых способов уже упоминалось для поиска на PHP.ini-файл, но если вы пришли на эту страницу, потому что хотите делать что-то с ним в bash-скрипт:

path_php_ini=" В$(на PHP -я | grep &#39;конфигурационный файл (php.Ини) путь&#39; | грэп -ОП &#39;(?<=\=\>\с).*&#39;) и" Эхо ${path_php_ini}

Комментарии (1)