Как программно получить переменные phpinfo () из php? - PullRequest
11 голосов
/ 15 января 2010

Я пытаюсь получить список надежных (согласованных между запросами) списков «скрытых» констант в PHP (как, например, на стороне клиента в большинстве случаев об этом не узнают без взлома).

Некоторые вещи, которые меня интересуют, следующие:

  1. ./configure варианты.
  2. Мне также хотелось бы самое первое значение System в phpinfo.
  3. Загруженные модули PHP (как показано в разделе Apache)
  4. Дата сборки PHP.
  5. Зарегистрированные потоки PHP
  6. Зарегистрированные потоковые сокеты
  7. Фильтры зарегистрированных потоков

Как получить либо часть phpinfo, либо получить эти значения в виде обычной строки? Обратите внимание, что это не имеет значения, если есть разметка, но я не хочу анализировать phpinfo, так как это кажется очень медленным и, несомненно, есть лучший способ ..

Ответы [ 3 ]

19 голосов
/ 15 января 2010

Вот, пожалуйста:

  1. ini_get_all() или get_loaded_extensions() были самые близкие, которые я мог найти
  2. php_uname()
  3. apache_get_modules()
  4. phpversion() был самый близкий, который я мог найти
  5. stream_get_wrappers()
  6. stream_get_transports()
  7. stream_get_filters()

См. Также get_defined_constants() и еще .


Как упоминалось в Chacha102, вы также можете использовать функции управления выходом и анализировать phpinfo():

ob_start();
phpinfo();
$variable = ob_get_contents();
ob_get_clean();

Из-за использования ob_get_clean() он не испортит другие уровни выходной буферизации, которые вы можете использовать.

5 голосов
/ 15 января 2010

Большинство материалов, доступных в phpinfo (), можно найти в константах. Попробуйте просмотреть:

print_r(get_defined_constants());

Или функции на этой странице: http://us.php.net/manual/en/ref.info.php. Существует множество функций для получения информации о конкретных расширениях.

Следующие функции могут быть полезны:

ini_get() http://us.php.net/manual/en/function.ini-get.php
getenv() http://us.php.net/manual/en/function.getenv.php
get_cfg_var() http://us.php.net/manual/en/function.get-cfg-var.php

0 голосов
/ 31 марта 2016

Может быть, я немного опоздал, но в основном, если вы вызываете сценарий оболочки проблемным с php.exe

php -i

тогда вы можете проанализировать всю необходимую информацию

...