Я ищу путь, где файл 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"
Чтобы узнать, какой файл конфигурации используется для веб-процессов, выполните следующие действия.
Ctrl+F
и найдите «Файл конфигурации» Создайте простую страницу, и она будет указана там!
<?php phpinfo(); ?>
просто поместите файл следующим образом:
<?php phpinfo(); ?>
Тогда ищите
Loaded Configuration File
вы увидите полный путь для файла php.ini