Как узнать, какой php.ini используется?

Я ищу путь, где файл php.ini находится на нашем Linux Ubuntu сервере, и я нашел много php.ini при выполнении команды find / -name php.ini . Итак, как точно узнать с веб-страницы php-скрипта, где находится php.ini?

Вы можете использовать php_ini_loaded_file ()

Взято с php.net:

 $inipath = php_ini_loaded_file(); if ($inipath) { echo 'Loaded php.ini: ' . $inipath; } else { echo 'A php.ini file is not loaded'; } 

Вы также можете проверить php_ini_scanned_files ()

Кроме того, вы должны заметить, что если вы запускаете PHP-скрипт из CLI, возможно, будет использоваться другой файл php.ini , чем если он запускает сервер (например, nginx или apache).

Другие варианты:

  • php -i|grep 'php.ini'
  • создайте info.php , содержащий <?php phpinfo(); в webroot и запустите его в своем браузере
 php --ini 

Для веб-сервера – SAPI используют phpinfo()

Вот несколько примеров:

 bash-3.2# php --ini Configuration File (php.ini) Path: /usr/local/php5/lib Loaded Configuration File: /usr/local/php5/lib/php.ini Scan for additional .ini files in: /usr/local/php5/php.d Additional .ini files parsed: /usr/local/php5/php.d/10-extension_dir.ini, /usr/local/php5/php.d/20-extension-opcache.ini, /usr/local/php5/php.d/40-openssl.ini, /usr/local/php5/php.d/50-extension-apcu.ini, /usr/local/php5/php.d/50-extension-curl.ini, /usr/local/php5/php.d/50-extension-gmp.ini, /usr/local/php5/php.d/50-extension-imap.ini, /usr/local/php5/php.d/50-extension-intl.ini, /usr/local/php5/php.d/50-extension-mcrypt.ini, /usr/local/php5/php.d/50-extension-mssql.ini, /usr/local/php5/php.d/50-extension-pdo_pgsql.ini, /usr/local/php5/php.d/50-extension-pgsql.ini, /usr/local/php5/php.d/50-extension-propro.ini, /usr/local/php5/php.d/50-extension-raphf.ini, /usr/local/php5/php.d/50-extension-readline.ini, /usr/local/php5/php.d/50-extension-xdebug.ini, /usr/local/php5/php.d/50-extension-xsl.ini, /usr/local/php5/php.d/60-extension-pecl_http.ini, /usr/local/php5/php.d/99-liip-developer.ini 

Вы должны использовать php-метод php_ini_loaded_file (только после php 5.2.4)

php_ini_loaded_file – Получить путь к загруженному файлу php.ini

Пример веб-сайта php:

 <?php $inipath = php_ini_loaded_file(); if ($inipath) { echo 'Loaded php.ini: ' . $inipath; } else { echo 'A php.ini file is not loaded'; } ?> 

Источник: сайт php

Обратите внимание, что конфигурация, загруженная для PHP, когда она используется на консоли, отличается от конфигурации для веб-процесса. Большинство установок PHP будут поставляться с php.ini для apache, а другой для CLI.

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

 $ php -i | grep "Configuration File" 

Чтобы узнать, какой файл конфигурации используется для веб-процессов, выполните следующие действия.

  1. Создайте информационный файл [предпочтительно в корневой папке]
  2. Содержимое этого файла должно быть
  3. Ctrl+F и найдите «Файл конфигурации»

Создайте простую страницу, и она будет указана там!

 <?php phpinfo(); ?> 

просто поместите файл следующим образом:

 <?php phpinfo(); ?> 

Тогда ищите

 Loaded Configuration File 

вы увидите полный путь для файла php.ini