phpinfo () - czy istnieje łatwy sposób, aby to zobaczyć?

123

Za każdym razem, gdy chcę zobaczyć, phpinfo();muszę:

  • Utwórz plik info.php;
  • Napisz phpinfo();w tym.
  • Przejdź do przeglądarki i wpisz „thisproject.dev/info.php”

Jestem na Ubuntu.

Czy nie ma bardziej praktycznego sposobu, aby zobaczyć phpinfo w przeglądarce?

MEM
źródło
2
Jak napisali @Jaitsu i Brian Gordon, możesz uzyskać dostęp do PHP za pomocą wiersza poleceń, ale nie wspomnieli, że czasami PHP w linii poleceń różni się od tego w Apache, tj. Działają w różnych trybach i mogą nawet mieć inną konfigurację pliki.
binaryLV,
@binaryLV Dobra uwaga, jedna, którą przeoczyłem, kiedy odpowiedziałem
JamesHalsall

Odpowiedzi:

221

Z linii poleceń możesz uruchomić ...

php -i

Wiem, że to nie jest okno przeglądarki, ale nie możesz zobaczyć phpinfo();zawartości bez wywołania funkcji. Oczywiście najlepszym podejściem byłoby posiadanie skryptu phpinfo w katalogu głównym twojego serwera WWW, w ten sposób masz do niego dostęp przez cały czas za pośrednictwem http://localhost/info.phplub czegoś podobnego (UWAGA: nie rób tego w środowisku produkcyjnym lub gdziekolwiek jest publicznie dostępny)

EDYCJA: Jak wspomniano w binaryLV, dość często występują dwie wersje pliku php.ini na instalację. Jeden dla interfejsu wiersza poleceń (CLI), a drugi dla interfejsu serwera WWW. Jeśli chcesz zobaczyć wyjście phpinfo dla twojego serwera internetowego, upewnij się, że podałeś ścieżkę do pliku ini, na przykład ...

php -c /etc/php/apache2/php.ini -i 
JamesHalsall
źródło
10
Nie zapomnij go zabezpieczyć , ponieważ wyjście phpinfo()nie powinno być publicznie dostępne.
binaryLV,
Istnieje również dobry powód, aby NIE ŁĄCZYĆ 2, php.iniszczególnie jeśli pracujesz na serwerze publicznym.
JohnnyQ,
Naprawdę powinieneś po prostu użyć flagi -c i przekazać ścieżkę do właściwego pliku .ini zamiast robić coś takiego jak dowiązanie symboliczne lub coś innego.
Chris Rasys
@ChrisRasys dlaczego miałbyś chcieć określać to za każdym razem, gdy uruchamiasz skrypty CLI?
JamesHalsall
@JamesHalsall Jeśli potrzebujesz emulować ustawienia PHP, których używa twój serwer WWW, to jest to właściwy sposób. W przeciwnym razie albo błędnie używasz ustawień CLI, albo usuwasz separację między ustawieniami CLI a ustawieniami serwera WWW. Ta separacja istnieje z jakiegoś powodu.
Chris Rasys,
18

Jeśli masz php zainstalowane na komputerze lokalnym, spróbuj:

$ php -a
Interactive shell

php > phpinfo();
Brian Gordon
źródło
2
Czy to pobiera php.iniwersję CLI czy tę z Apache? W moim przypadku używam 2 php.inidla CLI i Apache.
JohnnyQ,
2
Próbowałem tego i dostaje to php.iniz wersji CLI. Jeśli zachowasz 2 wersje, php.inimoże to nie mieć zastosowania.
JohnnyQ
15

Z CLI najlepiej jest użyć grep:

php -i | grep libxml
totas
źródło
3
To dobry sposób na wyszukiwanie w php ini.
claudiu.f.marginean
10

Z CLI:

php -r 'phpinfo();'
sjas
źródło
Mój webhost (Debian 7): php -r 'phpinfo ();' Błąd w argumencie 1, znak 2: nie znaleziono opcji r php -v PHP 4.4.9 (cgi-fcgi) (zbudowano: 28 lutego 2017 11:31:58)
Więzień 13
2

Użyj wiersza poleceń.

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

Coś w tym stylu? Nie wiem!

Chris G.
źródło