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.