phpinfo () - чи є простий спосіб його побачити?


123

Кожен раз, коли я хочу бачити, phpinfo();я повинен:

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

Я на Ubuntu.

Чи не існує більш практичного способу побачити phpinfo у браузері?


2
Як писали @Jaitsu та Брайан Гордон, ви можете отримати доступ до PHP за допомогою командного рядка, але те, що вони не згадували, - це те, що іноді PHP в командному рядку відрізняється від одного в Apache, тобто вони працюють в різних режимах і можуть мати навіть різні конфігурації файли.
binaryLV

@binaryLV хороший момент, один я не помітив, коли я відповів
JamesHalsall,

Відповіді:


219

З вашого командного рядка можна запустити ..

php -i

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

EDIT: Як згадує 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

@JamesHalsall Якщо вам потрібно наслідувати налаштування PHP, якими користується ваш веб-сервер, це правильний спосіб зробити це. В іншому випадку ви або помилково використовуєте налаштування CLI, або ви видаляєте розділення між налаштуваннями CLI та налаштуваннями веб-сервера. Та розлука існує з причини.
Кріс Рассіс

18

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

$ php -a
Interactive shell

php > phpinfo();

2
Чи отримує це php.iniверсія cli або версія в апачі? У моєму випадку я використовую 2 php.iniдля cli та apache.
JohnnyQ

2
Я спробував це, і він отримує php.iniвід версії CLI. Якщо ви зберігаєте дві версії, php.iniце може не застосовуватися.
JohnnyQ


10

Від CLI:

php -r 'phpinfo();'

Мій веб-хостинг (debian 7): php -r 'phpinfo ();' Помилка в аргументі 1, char 2: варіант не знайдено r php -v PHP 4.4.9 (cgi-fcgi) (побудовано: 28 лютого 2017 11:31:58)
В'язень 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.