Phpinfo как вывести в браузере

Обновлено: 07.07.2024

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

phpinfo() также используется в целях отладки, так как содержит все EGPCS (Environment, GET, POST, Cookie, Server) данные.

Список параметров

Вывод функции можно настраивать, передавая битовую маску из одной или более приведенных ниже констант (constants). Эта маска передается в качестве необязательного аргумента what . Отдельные константы или битовые значения можно комбинировать с помощью оператора или.

Настройки phpinfo()
Имя (константа) Значение Описание
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).

Примеры

// Показывать всю информацию, по умолчанию INFO_ALL
phpinfo ();

// Показывать информацию только о загруженных модулях.
// phpinfo(8) выдает тот же результат.
phpinfo ( INFO_MODULES );

Примечания

Замечание:

В версиях PHP до 5.5, часть информации не выводится, если настройка expose_php установлена в off. Это PHP и Zend логотипы и информация о разработчиках.

Замечание:

В режиме CLI phpinfo() выводит обычный текст вместо HTML.

При использовании услуг php-хостинга, аренды VPS/VDS или сервера может возникнуть потребность в выводе информации phpinfo. Вывод данной информации возможен двумя способами: вывод через интернет-браузер и через консоль.

phpinfo – это вывод подробной информации о конфигурации PHP, настройках, подключенных модулях, версии, системных переменных, конфигурации сервера и т.п., скомпонованных на странице в удобочитаемом виде.

Как вывести phpinfo в браузере

Вывод phpinfo в интернет браузере

Для вывода информации о PHP в окне браузера нам потребуется на FTP создать новый файл с расширением «.php», в котором прописать функцию phpinfo().

Например, создадим файл phpinfo.php, в котором пропишем:

Создание файла с phpinfo

Добавление функции phpinfo в файл

Обратите внимание, что у нас на хостинге сайтов файл phpinfo.php нужно создать в директории:

Также не забудьте заменить domain.tld на имя Вашего сайта.

Как вывести phpinfo в консоли

Вывод phpinfo через консоль linux лучше выполнять только на собственном VPS/VDS или сервере, т.к. данный метод на хостинге с доступом к ssh может не работать. Для вывода phpinfo через консоль можно воспользоваться командой:

Но стоит учесть, что в некоторых системах этот метод может не дать результат, или версий PHP может быть несколько. В этом случае прежде сделаем поиск бинарных (исполняемых) файлов php в системе.

Вывод phpinfo в консоли Linux

Она выполнит поиск исполняемых файлов в директориях /usr и /opt, которые являются самыми распространенными директориями, где могут размещаться исполняемые файлы php. В результате успешного поиска будет выведен список исполняемых файлов, найденных в системе, например:

Теперь выводим информацию php одной из команд:

Обратите внимание, что в данном примере в директории /usr/bin размещена основная версия PHP сервера, а в /opt/php-54 и /opt/php-72 находятся дополнительные версии.

Создайте файл с именем hello.php в корневом каталоге веб-сервера ( DOCUMENT_ROOT ) и запишите в него следующее:

<html>
<head>
<title>Тестируем PHP</title>
</head>
<body>
<?php echo '<p>Привет, мир!</p>' ; ?>
</body>
</html>

Эта программа чрезвычайно проста, и для создания настолько простой странички даже необязательно использовать PHP. Все, что она делает, это вывод Hello World , используя инструкцию PHP echo . Заметьте, что файл не обязан быть выполняемым или ещё как-то отличаться от других файлов. Сервер знает, что этот файл должен быть обработан PHP, так как файл обладает расширением ".php", о котором в настройках сервера сказано, что подобные файлы должны передаваться PHP. Рассматривайте его как обычный HTML-файл, которому посчастливилось заполучить набор специальных тегов (доступных также и вам), способных на кучу интересных вещей.

Цель примера - показать формат специальных тегов PHP. В этом примере мы использовали <?php в качестве открывающего тега, затем шли команды PHP, завершающиеся закрывающим тегом ?> . Таким образом можно где угодно "запрыгивать" и "выпрыгивать" из режима PHP в HTML файле. Подробнее об этом можно прочесть в разделе руководства Основной синтаксис.

Замечание: Замечание о переводах строк

Переводы строк немногое означают в HTML, однако считается хорошей идеей поддерживать HTML в удобочитаемом виде, перенося его на новую строку. PHP автоматически удаляет перевод строки, идущий сразу после закрывающего тега ?> . Это может быть чрезвычайно полезно, если вы используете множество блоков PHP-кода или подключаете PHP-файлы, которые не должны ничего выводить. В то же время, это может приводить в недоумение. Можно поставить пробел после закрывающего тега ?> и тогда пробел будет выведен вместе с переводом строки, или же вы можете специально добавить перевод строки в последний вызов echo/print из блока PHP-кода.

Замечание: Пара слов о текстовых редакторах

Существует множество текстовых редакторов и интегрированных сред разработки (IDE), в которых вы можете создавать и редактировать файлы PHP. Список некоторых редакторов содержится в разделе » Список редакторов PHP. Если вы хотите порекомендовать какой-либо редактор, посетите данную страницу и попросите добавить редактор в список. Использование редактора с подсветкой синтаксиса может быть очень большим подспорьем в вашей работе.

Замечание: Пара слов о текстовых процессорах

Текстовые процессоры (StarOffice Writer, Microsoft Word, Abiword и др.) в большинстве случаев не подходят для редактирования файлов PHP. Если вы всё же хотите использовать какой-либо из них для тестового скрипта, убедитесь, что сохраняете файл как простой текст (plain text), иначе PHP будет не в состоянии прочесть и запустить ваш скрипт.

Замечание: Пара слов о Блокноте Windows

При написании скриптов PHP с использованием встроенного Блокнота Windows необходимо сохранять файлы с расширением .php . (Блокнот автоматически добавит расширение .txt , если вы не предпримете указанные ниже меры.) Когда во время сохранения файла вас попросят указать его имя, введите имя файла в двойных кавычках (например, " hello.php "). Кроме этого, можно кликнуть на выпадающее меню "Текстовые документы" в диалоговом окне сохранения файла и выбрать в нем пункт "Все файлы". После этого можно вводить имя файла без кавычек.

Теперь, когда вы успешно создали работающий PHP-скрипт, самое время создать самый знаменитый PHP-скрипт! Вызовите функцию phpinfo() и вы увидите множество полезной информации о вашей системе и настройке, такой как доступные предопределённые переменные, загруженные PHP-модули и параметры настройки. Уделите некоторое время изучению этой важной информации.

При работе длинных скриптов, бывает необходимость посмотреть за ходом выполнения, т.е. хочется выводить какие-либо данные на экран в браузер, прямо по ходу выполнения скрипта. Нашел данный пример в интернете:

По-идее данный пример должен каждую секунду 10 раз выводить слово 'data' . Ни на Денвере, ни на хостинге NIC/RU-CENTER данный пример не работает - сначала проходит 10 секунд, потом полностью выводится весь текст. Несколько дней читаю интернет, у половины людей похожие конструкции с flush()/ob_flush() работают, у половины нет. В целом, какой-либо ясности по вопросу нет. Как осуществить постоянный вывод в браузер? Про header('Content-Type: text/event-stream') знаю, это не совсем то, что нужно, хочется чтобы в браузер выводился именно код с форматированием.

1,675 2 2 золотых знака 20 20 серебряных знаков 44 44 бронзовых знака 175 1 1 золотой знак 3 3 серебряных знака 9 9 бронзовых знаков

Вопрос довольно обширный, но я постараюсь вам ответить.

В чём тут может быть подвох. Сервер: Apache который использует gzip и не отправляет страницу до завершения скрипта или подобные решения на nginx

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

Самым простым решением если нужно просто проконтролировать долгий скрипт, запуск его через консоль. Если же нужен вывод в браузер то стоит попробовать Opera 12 с настройками перерисовывать страницу через 1 секунду

Внимание, велосипед. В процессе выполнения записываем результат в текстовый файл и обновляем его [F5] или скриптом.


55.2k 7 7 золотых знаков 63 63 серебряных знака 134 134 бронзовых знака

Попробуйте использовать конструкцию:

Далее используйте необходимый вывод.

Читайте также: