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.