phpinfo () - есть ли простой способ увидеть это?


123

Каждый раз, когда я хочу увидеть это, phpinfo();я должен:

  • Создайте файл info.php;
  • Напишите phpinfo();в нем.
  • Зайдите в браузер и введите мой "thisproject.dev/info.php"

Я на Ubuntu.

Нет более практичного способа увидеть phpinfo в браузере?


2
Как писали @Jaitsu и Brian Gordon, вы можете получить доступ к PHP через командную строку, но они не упомянули, что иногда PHP в командной строке отличается от такового в Apache, то есть они работают в разных режимах и могут даже иметь разные конфигурации. файлы.
— binaryLV

@binaryLV - хороший момент, я упустил его из виду, когда ответил
— Джеймс Холсолл

Ответы:


221

Из командной строки вы можете запустить ..

php -i

Я знаю, что это не окно браузера, но вы не можете увидеть его phpinfo();содержимое, не вызвав функцию. Очевидно, что лучшим подходом было бы иметь скрипт phpinfo в корне каталога вашего веб-сервера, чтобы у вас всегда был доступ к нему через http://localhost/info.phpили что-то подобное (ПРИМЕЧАНИЕ: не делайте этого в производственной среде или где-либо, общедоступно)

РЕДАКТИРОВАТЬ: Как упоминалось в binaryLV, довольно часто для каждой установки используются две версии php.ini. Один для интерфейса командной строки (CLI), а другой для интерфейса веб-сервера. Если вы хотите увидеть вывод phpinfo для своего веб-сервера, убедитесь, что вы указали путь к файлу ini, например ...

php -c /etc/php/apache2/php.ini -i 

10
Не забудьте защитить его, так как выходные данные phpinfo()не должны быть общедоступными.
— binaryLV

Также есть веская причина НЕ СВЯЗАТЬ 2, php.iniособенно если вы работаете на общедоступном сервере.
— JohnnyQ

Вам действительно следует просто использовать флаг -c и указать путь к правильному файлу .ini вместо того, чтобы делать что-то вроде символической ссылки или чего-то еще.
— Крис Расис,

@ChrisRasys, зачем вам указывать его каждый раз при запуске сценариев CLI?
— Джеймс Холсолл,

@JamesHalsall Если вам нужно имитировать настройки PHP, которые использует ваш веб-сервер, это правильный способ сделать это. В противном случае вы либо ошибочно используете настройки CLI, либо устраняете разделение между настройками CLI и настройками веб-сервера. Это разделение существует не просто так.
— Крис Расис,

18

Если на вашем локальном компьютере установлен php, попробуйте:

$ php -a
Interactive shell

php > phpinfo();

2
Это php.iniверсия cli или версия apache? В моем случае я использую 2 php.iniдля cli и apache.
— JohnnyQ

2
Я пробовал это, и он получил php.iniиз версии CLI. Если вы сохраните 2 версии, php.iniэто может быть неприменимо.
— JohnnyQ

15

Из интерфейса командной строки лучше всего использовать grep:

php -i | grep libxml

3
Это удобный способ поиска в php ini.
— claudiu.f.marginean

10

Из интерфейса командной строки:

php -r 'phpinfo();'

Мой хостинг (debian 7): php -r 'phpinfo ();' Ошибка в аргументе 1, символ 2: параметр не найден r php -v PHP 4.4.9 (cgi-fcgi) (построено: 28 февраля 2017 г., 11:31:58)
— Prisoner 13

2

Используйте командную строку.

touch /var/www/project1/html/phpinfo.php && echo '<?php phpinfo(); ?>' >> /var/www/project1/html/phpinfo.php && firefox --url localhost/project1/phpinfo.php

Что-то такое? ИДК!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.