Php получить путь до php ini

Где я могу найти файл php.ini

Несколько лет назад я установил Apache 2.2x и PHP 5.3.1 на Linux-сервер, который я обслуживаю. Я использовал .tar.gz и собрал их в соответствии с инструкциями (вместо rpms и т . п .). И все было в порядке. Сегодня мне нужно установить нечто, которое кажется библиотекой 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 через веб-интерфейс GUI.

Ответ 1

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

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 делает то же самое для командной строки, но это довольно неудобно.

Ответ 2

  1. php_ini_loaded_file возвращает загруженный .ini файл ;
  2. php_ini_scanned_files возвращает список .ini файлов, разобранных из дополнительной директории ini.

Ответ 3

  1. В терминале введите find / -name «php.ini».
  2. В терминале введите php -i | grep php.ini. Это должно показать путь к файлу как «Configuration File (php.ini) Path => /etc».
  3. Если вы можете получить доступ к одному из ваших PHP файлов, откройте его в редакторе (Блокнот) и вставьте phpinfo(); после
  4. Вы также можете общаться с PHP в интерактивном режиме. Просто наберите php -a в терминале и введите phpinfo(); после запуска интерпретатора PHP.

Ответ 4

Для SAPI: php-fpm

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

php-fpm -i | more

Где-то в выходных данных будет показана эта строка:

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

Ответ 5

Уже упоминалось несколько действенных способов найти файл php.ini, но , если вы наткнулись на эту страницу, потому что хотите что-то сделать с ним в сценарии Bash:

path_php_ini=»$(php -i | grep ‘Configuration File (php.ini) Path’ | grep -oP ‘(?\s).*’)»

echo $

Ответ 6

Используйте следующую команду, чтобы найти путь к файлу php.ini в Linux :

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

Или попробуйте другой способ:

php —ini

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Источник

Как узнать, где путь php.ini?

Как узнать, где путь php.ini? В стандартных папках его нет. В php -i указывает на /var/lib/php. Но там такого файла нет. Хочу включить модуль не не могу найти конфиги.

Простой 3 комментария

Compolomus

Compolomus

irishmann

SagePtr

В линукс PHP распространяется в виде исходного кода, мейнтейнеры дистрибутивов уже его компилируют и включают в репозитории. В каких директориях хранятся конфиги — зависит от мейнтейнера. В убунте, к примеру, это /etc/php/8.1/cli и /etc/php/8.1/fpm (для cli и fpm соответственно).
Если ставите PHP вместе с какой-нибудь панелью, то там есть вероятность, что сборки PHP свои, и пути к конфигам тоже свои.

Весь этот сырбор начался после того как я поверх установленного пхп из пакетов версии 7.4.30 скомпили такую же версию

SagePtr

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

Источник

How to find the php.ini file used by the command line?

How to find the php.ini file used by the command line?

There are a few ways to locate php.ini file by command line on Linux Ubuntu, Linux Mint, and other Linux distributions. Some of the options showed here are also compatible with Windows, specially usin WSL.

What is php.ini

The php.ini file is the configuration file that is read when PHP starts up. For the server module versions of PHP, this happens only once when the web server is started. For the CGI and CLI versions, it happens on every invocation.

It is the main place where you declare changes to your PHP settings. The server is already configured with standard settings for PHP, which your site or application will use by default. Unless you need to change one or more settings, there is no need to create or modify a php.ini file.

Where is php.ini file located by default

The php.ini file is searched for in these locations (in order):

  • SAPI module specific location (PHPIniDir directive in Apache 2, -c command line option in CGI and CLI)
  • The PHPRC environment variable.
  • The location of the php.ini file can be set for different versions of PHP. The root of the registry keys depends on 32- or 64-bitness of the installed OS and PHP. For 32-bit PHP on a 32-bit OS or a 64-bit PHP on a 64-bit OS use [(HKEY_LOCAL_MACHINE\SOFTWARE\PHP] for 32-bit version of PHP on a 64-bit OS use [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\PHP]] instead. For same bitness installation the following registry keys are examined in order: [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z], [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y] and [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x], where x, y and z mean the PHP major, minor and release versions. For 32 bit versions of PHP on a 64 bit OS the following registry keys are examined in order: [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6421Node\PHP\x.y.z], [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6421Node\PHP\x.y] and [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6421Node\PHP\x], where x, y and z mean the PHP major, minor and release versions. If there is a value for IniFilePath in any of these keys, the first one found will be used as the location of the php.ini (Windows only).
  • [HKEY_LOCAL_MACHINE\SOFTWARE\PHP] or [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\PHP], value of IniFilePath (Windows only).
  • Current working directory (except CLI).
  • The web server’s directory (for SAPI modules), or directory of PHP (otherwise in Windows).
  • Windows directory (C:\windows or C:\winnt) (for Windows), or –with-config-file-path compile time option.

If php-SAPI.ini exists (where SAPI is the SAPI in use, so, for example, php-cli.ini or php-apache.ini ), it is used instead of php.ini . The SAPI name can be determined with php_sapi_name() (returns the type of interface between web server and PHP).

The Apache web server changes the directory to root at startup, causing PHP to attempt to read php.ini from the root filesystem if it exists.

How can I find the php.ini file from command line

php –ini

There is a simple option called —ini that you can use when run php command:

The output will show where is the php.ini used by command line, as well additional scanned configuration files:

Configuration File (php.ini) Path: /etc/php/7.4/cli Loaded Configuration File: /etc/php/7.4/cli/php.ini Scan for additional .ini files in: /etc/php/7.4/cli/conf.d Additional .ini files parsed: /etc/php/7.4/cli/conf.d/10-mysqlnd.ini, /etc/php/7.4/cli/conf.d/10-pdo.ini, /etc/php/7.4/cli/conf.d/15-xml.ini, /etc/php/7.4/cli/conf.d/20-bcmath.ini, /etc/php/7.4/cli/conf.d/20-exif.ini, /etc/php/7.4/cli/conf.d/20-gd.ini, /etc/php/7.4/cli/conf.d/20-gettext.ini, /etc/php/7.4/cli/conf.d/20-iconv.ini, /etc/php/7.4/cli/conf.d/20-intl.ini, /etc/php/7.4/cli/conf.d/20-json.ini, /etc/php/7.4/cli/conf.d/20-mbstring.ini, /etc/php/7.4/cli/conf.d/20-mysqli.ini, /etc/php/7.4/cli/conf.d/20-pdo_mysql.ini, /etc/php/7.4/cli/conf.d/20-pdo_pgsql.ini, /etc/php/7.4/cli/conf.d/20-pdo_sqlite.ini, /etc/php/7.4/cli/conf.d/20-pgsql.ini, /etc/php/7.4/cli/conf.d/20-redis.ini, /etc/php/7.4/cli/conf.d/20-simplexml.ini, /etc/php/7.4/cli/conf.d/20-sockets.ini, /etc/php/7.4/cli/conf.d/20-sqlite3.ini, /etc/php/7.4/cli/conf.d/20-xmlreader.ini, /etc/php/7.4/cli/conf.d/20-xmlwriter.ini, /etc/php/7.4/cli/conf.d/20-xsl.ini, /etc/php/7.4/cli/conf.d/20-zip.ini, /etc/php/7.4/cli/conf.d/xdebug.ini 

php-config –ini-dir

Using php-config you can list only the path where the main PHP configuration file is located:

The output is something like:

php -i and grep

The command php -i shows a complete phpinfo() result. You can find all configurations and apply grep command to filter only the .ini configuration file:

php -i | grep 'Configuration File' 

Or in Windows you can use find instead:

php -i | find/i"configuration file" 

The result to both command will be similar to:

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

Finally you can use grep to filter all lines of the phpinfo() that shows .ini :

The output will be similar to php -i command:

Configuration File (php.ini) Path: /etc/php/7.4/cli Loaded Configuration File: /etc/php/7.4/cli/php.ini Scan for additional .ini files in: /etc/php/7.4/cli/conf.d Additional .ini files parsed: /etc/php/7.4/cli/conf.d/10-mysqlnd.ini, /etc/php/7.4/cli/conf.d/10-pdo.ini, /etc/php/7.4/cli/conf.d/15-xml.ini, /etc/php/7.4/cli/conf.d/20-bcmath.ini, /etc/php/7.4/cli/conf.d/20-exif.ini, /etc/php/7.4/cli/conf.d/20-gd.ini, /etc/php/7.4/cli/conf.d/20-gettext.ini, /etc/php/7.4/cli/conf.d/20-iconv.ini, /etc/php/7.4/cli/conf.d/20-intl.ini, /etc/php/7.4/cli/conf.d/20-json.ini, /etc/php/7.4/cli/conf.d/20-mbstring.ini, /etc/php/7.4/cli/conf.d/20-mysqli.ini, /etc/php/7.4/cli/conf.d/20-pdo_mysql.ini, /etc/php/7.4/cli/conf.d/20-pdo_pgsql.ini, /etc/php/7.4/cli/conf.d/20-pdo_sqlite.ini, /etc/php/7.4/cli/conf.d/20-pgsql.ini, /etc/php/7.4/cli/conf.d/20-redis.ini, /etc/php/7.4/cli/conf.d/20-simplexml.ini, /etc/php/7.4/cli/conf.d/20-sockets.ini, /etc/php/7.4/cli/conf.d/20-sqlite3.ini, /etc/php/7.4/cli/conf.d/20-xmlreader.ini, /etc/php/7.4/cli/conf.d/20-xmlwriter.ini, /etc/php/7.4/cli/conf.d/20-xsl.ini, /etc/php/7.4/cli/conf.d/20-zip.ini, /etc/php/7.4/cli/conf.d/xdebug.ini 

Conclusions

There are several ways to find php.ini file and other configurations files of your PHP installation using native commands on terminal.

Источник

Читайте также:  Бинарный поиск алгоритм php
Оцените статью