- phpinfo
- Список параметров
- Возвращаемые значения
- Список изменений
- Примеры
- Примечания
- Смотрите также
- Как вывести информацию phpinfo
- Как вывести phpinfo в браузере
- Как вывести phpinfo в консоли
- phpinfo
- Таблица 1. Опции phpinfo()
- Пример 1. phpinfo()
- phpinfo
- Список параметров
- Возвращаемые значения
- Примеры
- Примечания
- Смотрите также
- User Contributed Notes 21 notes
phpinfo
Выводит большое количество информации о текущем состоянии PHP. Сюда входит информация о настройках компиляции PHP, о расширениях, о версии, информация о сервере и среде выполнения (если PHP компилировался как модуль), окружении PHP, версии ОС, о путях, об основных и локальных значениях настроек конфигурации, о HTTP заголовках и лицензии PHP.
Так как каждая система имеет свои особенности, phpinfo() используется в основном для проверки настроек конфигурации и для просмотра доступных предопределенных констант в данной системе.
phpinfo() также используется в целях отладки, так как содержит все EGPCS (Environment, GET, POST, Cookie, Server) данные.
Список параметров
Вывод функции можно настраивать, передавая битовую маску из одной или более приведенных ниже констант (constants). Эта маска передается в качестве необязательного аргумента what . Отдельные константы или битовые значения можно комбинировать с помощью оператора или.
Имя (константа) | Значение | Описание |
---|---|---|
INFO_GENERAL | 1 | Строка конфигурации, расположение php.ini , дата сборки, Web-сервер, Система и др. |
INFO_CREDITS | 2 | Разработчики PHP. См. также phpcredits() . |
INFO_CONFIGURATION | 4 | Текущие значение основных и локальных PHP директив. См. также ini_get() . |
INFO_MODULES | 8 | Загруженные модули и их настройки. См. также get_loaded_extensions() . |
INFO_ENVIRONMENT | 16 | Информация о переменных окружения, которая также доступна в $_ENV . |
INFO_VARIABLES | 32 | Выводит все предопределенные переменные из EGPCS (Environment, GET, POST, Cookie, Server). |
INFO_LICENSE | 64 | Информация о лицензии PHP. См. также » license FAQ. |
INFO_ALL | -1 | Выводит все приведенное выше. |
Возвращаемые значения
Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.
Список изменений
Версия | Описание |
---|---|
5.5.0 | GUID логотипов были заменены на URI данных, и отключение expose_php теперь не влияет на результат phpinfo(). Список авторов теперь также встроен в вывод. |
5.2.2 | Добавлен вывод информации о загруженном конфигурационном файле. Ранее выводился только путь к конфигурационному файлу (php.ini). |
Примеры
Пример #1 Пример использования phpinfo()
// Показывать всю информацию, по умолчанию INFO_ALL
phpinfo ();
// Показывать информацию только о загруженных модулях.
// phpinfo(8) выдает тот же результат.
phpinfo ( INFO_MODULES );
Примечания
Замечание:
В версиях PHP до 5.5, часть информации не выводится, если настройка expose_php установлена в off. Это PHP и Zend логотипы и информация о разработчиках.
Замечание:
В режиме CLI phpinfo() выводит обычный текст вместо HTML.
Смотрите также
- phpversion() — Выдает текущую версию PHP
- phpcredits() — Выводит список разработчиков PHP
- php_logo_guid() — Получение guid логотипа
- ini_get() — Получает значение настройки конфигурации
- ini_set() — Установка значения настройки конфигурации
- get_loaded_extensions() — Возвращает массив имен всех скомпилированных и загруженных модулей
- Предопределенные переменные
Как вывести информацию phpinfo
При использовании услуг php-хостинга, аренды VPS/VDS или сервера может возникнуть потребность в выводе информации phpinfo. Вывод данной информации возможен двумя способами: вывод через интернет-браузер и через консоль.
phpinfo – это вывод подробной информации о конфигурации PHP, настройках, подключенных модулях, версии, системных переменных, конфигурации сервера и т.п., скомпонованных на странице в удобочитаемом виде.
Как вывести phpinfo в браузере
Для вывода информации о PHP в окне браузера нам потребуется на FTP создать новый файл с расширением «.php», в котором прописать функцию phpinfo().
Например, создадим файл phpinfo.php, в котором пропишем:
После этого откроем этот файл в браузере по адресу: http://domain.tld/phpinfo.php
Обратите внимание, что у нас на хостинге сайтов файл phpinfo.php нужно создать в директории:
Также не забудьте заменить domain.tld на имя Вашего сайта.
Как вывести phpinfo в консоли
Вывод phpinfo через консоль linux лучше выполнять только на собственном VPS/VDS или сервере, т.к. данный метод на хостинге с доступом к ssh может не работать. Для вывода phpinfo через консоль можно воспользоваться командой:
Но стоит учесть, что в некоторых системах этот метод может не дать результат, или версий PHP может быть несколько. В этом случае прежде сделаем поиск бинарных (исполняемых) файлов php в системе.
Она выполнит поиск исполняемых файлов в директориях /usr и /opt, которые являются самыми распространенными директориями, где могут размещаться исполняемые файлы php. В результате успешного поиска будет выведен список исполняемых файлов, найденных в системе, например:
Теперь выводим информацию php одной из команд:
Обратите внимание, что в данном примере в директории /usr/bin размещена основная версия PHP сервера, а в /opt/php-54 и /opt/php-72 находятся дополнительные версии.
phpinfo
Выводит большое количество информации о текущем статусе PHP. Сюда входит информация об опциях компиляции PHP и о расширениях, версии PHP, информация сервера и окружения (если скомпилирован как модуль), окружение PHP, версия ОС, пути, master и локальные переменные опций конфигурации, шапки HTTP и PHP License.
Поскольку каждая система настроена по-своему, phpinfo() обычно используется для проверки установок конфигурации и доступности предопределённых переменных в данной системе. Также phpinfo() является важной отладочной утилитой, так как содержит все данные EGPCS (Environment, GET, POST, Cookie, Server).
Вывод может быть специализирован путём передачи одной или более следующих константных битовых значений, суммированных в необязательном параметре what. Можно также комбинировать соответствующие константны или битовые значения операцией or.
Таблица 1. Опции phpinfo()
Имя (константа) | Значение | Описание |
---|---|---|
INFO_GENERAL | 1 | Строка конфигурации, размещение php.ini, дата построения/build, Web-сервер, система и т.д. |
INFO_CREDITS | 2 | Кредиты PHP 4. Смотрите также phpcredits(). |
INFO_CONFIGURATION | 4 | Текущие Local и Master значения php-директив. Смотрите также ini_get(). |
INFO_MODULES | 8 | Загруженные модули и их соответствующие настройки. |
INFO_ENVIRONMENT | 16 | Environment Variable информация, доступная также в $_ENV. |
INFO_VARIABLES | 32 | Показывает все предопределённые переменные из EGPCS (Environment, GET, POST, Cookie, Server). |
INFO_LICENSE | 64 | Информация PHP License. Смотрите также license faq. |
INFO_ALL | -1 | Всё выше указанное. Это значение по умолчанию. |
Пример 1. phpinfo()
// Показать всю информацию, по умолчанию INFO_ALL phpinfo(); // Показать только информацию модуля. // phpinfo(8) даст идентичный результат. phpinfo(INFO_MODULES);
Примечание: части отображаемой информации отключаются, когда установка конфигурации expose_php имеет значение off. Сюда входят PHP и Zend-логосы и кредиты.
phpinfo
Выводит большое количество информации о текущем состоянии PHP. Сюда входит информация о настройках компиляции PHP, о модулях, о версии, информация о сервере и среде выполнения (если PHP компилировался как модуль), окружении PHP, версии ОС, о путях, об основных и локальных значениях настроек конфигурации, о HTTP-заголовках и лицензии PHP.
Так как каждая система имеет свои особенности, phpinfo() используется в основном для проверки настроек конфигурации и для просмотра доступных предопределённых констант в данной системе.
phpinfo() также используется в целях отладки, так как содержит все данные EGPCS (Environment, GET, POST, Cookie, Server).
Список параметров
Вывод функции можно настраивать, передавая битовую маску из одной или более приведённых ниже констант (constants). Эта маска передаётся в качестве необязательного аргумента flags . Отдельные константы или битовые значения можно комбинировать с помощью побитового оператора ИЛИ.
Имя (константа) | Значение | Описание |
---|---|---|
INFO_GENERAL | 1 | Строка конфигурации, расположение php.ini , дата сборки, сервер, система и др. |
INFO_CREDITS | 2 | Разработчики PHP. Смотрите также phpcredits() . |
INFO_CONFIGURATION | 4 | Текущие значение основных и локальных PHP директив. Смотрите также ini_get() . |
INFO_MODULES | 8 | Загруженные модули и их настройки. Смотрите также get_loaded_extensions() . |
INFO_ENVIRONMENT | 16 | Информация о переменных окружения, которая также доступна в $_ENV . |
INFO_VARIABLES | 32 | Выводит все предопределённые переменные из EGPCS (Environment, GET, POST, Cookie, Server). |
INFO_LICENSE | 64 | Информация о лицензии PHP. Смотрите также » license FAQ. |
INFO_ALL | -1 | Выводит все приведённое выше. |
Возвращаемые значения
Функция всегда возвращает true .
Примеры
Пример #1 Пример использования phpinfo()
// Показывать всю информацию, по умолчанию INFO_ALL
phpinfo ();
// Показывать информацию только о загруженных модулях.
// phpinfo(8) выдаёт тот же результат.
phpinfo ( INFO_MODULES );
Примечания
Замечание:
В версиях PHP до 5.5, часть информации не выводится, если настройка expose_php установлена в off . Это PHP и Zend логотипы и информация о разработчиках.
Замечание:
В режиме CLI phpinfo() выводит обычный текст вместо HTML.
Смотрите также
- phpversion() — Получает текущую версию PHP
- phpcredits() — Выводит список разработчиков PHP
- ini_get() — Получает значение настройки конфигурации
- ini_set() — Устанавливает значение настройки конфигурации
- get_loaded_extensions() — Возвращает массив имён всех скомпилированных и загруженных модулей
- Предопределённые переменные
User Contributed Notes 21 notes
A simple method to style your own phpinfo() output.
ob_start () ;
phpinfo () ;
$pinfo = ob_get_contents () ;
ob_end_clean () ;
// the name attribute «module_Zend Optimizer» of an anker-tag is not xhtml valide, so replace it with «module_Zend_Optimizer»
echo ( str_replace ( «module_Zend Optimizer» , «module_Zend_Optimizer» , preg_replace ( ‘%^.*
This is necessary to obtain a W3C validation (XHTML1.0 Transitionnal).
phpinfo’s output is declared with that DTD :
— «System ID» has the wrong url to validate : «DTD/xhtml1-transitional.dtd» rather than «http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd»
— Some module names contains space and the function’s output use the name in anchors as ID and NAME. these attributes can’t be validated like that (unique name only).
ob_start (); // Capturing
phpinfo (); // phpinfo ()
$info = trim ( ob_get_clean ()); // output
// Replace white space in ID and NAME attributes. if exists
$info = preg_replace ( ‘/(id|name)(=[«\’][^ «\’]+) ([^ «\’]*[«\’])/i’ , ‘$1$2_$3’ , $info );
$info_doc = new DOMDocument ( ‘1.0’ , ‘utf-8’ );
/* Parse phpinfo’s output
* operator @ used to avoid messages about undefined entities
* or use loadHTML instead
*/
@ $info_doc -> loadXML ( $info );
$doc -> documentElement -> appendChild ( // Adding HEAD element to HTML
$doc -> importNode (
$info_doc -> getElementsByTagName ( ‘head’ )-> item ( 0 ),
true // With all the subtree
)
);
$doc -> documentElement -> appendChild ( // Adding BODY element to HTML
$doc -> importNode (
$info_doc -> getElementsByTagName ( ‘body’ )-> item ( 0 ),
true // With all the subtree
)
);
// Now you get a clean output and you are able to validate.
/*
echo ($doc->saveXML ());
// OR
echo ($doc->saveHTML ());
*/
// By that way it’s easy to add some style declaration :
$style = $doc -> getElementsByTagName ( ‘style’ )-> item ( 0 );
$style -> appendChild (
$doc -> createTextNode (
‘/* SOME NEW CSS RULES TO ADD TO THE FUNCTION OUTPUT */’
)
);
// to add some more informations to display :
$body = $doc -> getElementsByTagName ( ‘body’ )-> item ( 0 );
$element = $doc -> createElement ( ‘p’ );
$element -> appendChild (
$doc -> createTextNode (
‘SOME NEW CONTENT TO DISPLAY’
)
);
$body -> appendChild ( $element );
// to add a new header :
$head = $doc -> getElementsByTagName ( ‘head’ )-> item ( 0 );
$meta = $doc -> createElement ( ‘meta’ );
$meta -> setAttribute ( ‘name’ , ‘author’ );
$meta -> setAttribute ( ‘content’ , ‘arimbourg at ariworld dot eu’ );
$head -> appendChild ( $meta );
// As you wish, take the rest of the output and add it for debugging
$out = ob_get_clean ();
$pre = $doc -> createElement ( ‘div’ ); // or pre
$pre -> setAttribute ( ‘style’ , ‘white-space: pre;’ ); // for a div element, useless with pre
$pre -> appendChild ( $doc -> createTextNode ( $out ));
$body -> appendChild ( $pre );
$doc -> formatOutput = true ; // For a nice indentation
$doc -> saveXML ();
?>
All that could be done with only RegExp but I prefer the use of DOM for manipulating documents