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

123

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

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

Я на Ubuntu.

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

MEM
источник
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 
JamesHalsall
источник
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
Totas
источник
3
Это удобный способ поиска в php ini.
claudiu.f.marginean
10

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

php -r 'phpinfo();'
sjas
источник
Мой хостинг (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

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

Крис Г.
источник