получить и сохранить путь к файлу php.ini - PullRequest
2 голосов
/ 24 августа 2011

Можно ли получить путь к файлу php.ini с помощью сценария php и сохранить этот путь в переменной? Я знаю, что могу вызвать phpinfo (), чтобы выяснить путь, но он печатает много информации, и мне нужен только путь к файлу php.ini и никакого вывода вообще. Заранее спасибо.

Ответы [ 3 ]

9 голосов
/ 24 августа 2011

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

  1. php_ini_loaded_file Документы - Получить путь к загруженному файлу php.ini.
  2. php_ini_scanned_files Документы - Возвращает список файлов .ini, проанализированных из дополнительного ini-каталога.

Кроме того, обратите внимание на разрыв с .user.ini файлами , они не отображаются ни в php_ini_scanned_files, ни phpinfo.

0 голосов
/ 24 августа 2011

Это работает в командной строке, может также работать для CGI:

ob_start(); phpinfo();
if ( preg_match( '#>(.+)/php.ini#', ob_get_clean(), $matches ) ) {
    echo 'php.ini location: ' . trim( $matches[1] ) . '/php.ini';
}
0 голосов
/ 24 августа 2011

Вы можете выполнить exec ("php -i | grep php.ini") и получить этот вывод.Или вы можете использовать outputbuffering (ob_start ()), запустить phpinfo (), получить содержимое outputbuffer (ob_get_contents ()) и выполнить поиск по нему (preg_match), чтобы найти файл php.ini ...

...