Odpowiedzi:
Jeśli używasz interfejsu CLI PHP, spróbuj użyć tych poleceń powłoki (zakładam, że używasz linux tutaj)
which php - will locate the php executable (this should be the default php used by you)
whereis php - The first path displayed will be the location of the php executable
echo $PATH - will print a list of paths separated by ":" where the system looks for commands
Jeśli używasz PHP jako modułu Apache, to phpinfo () poinformuje o używanej wersji php, a pliki konfiguracyjne php, NIE ścieżkę php . Jeśli masz 2 wersje pliku wykonywalnego php, to ci pomoże. Jeśli są to te same wersje, to nie będzie miało znaczenia, kto jest kim :)
Jeśli chcesz dowiedzieć się o wersji php, to php -v wypisze wersję php w CLI i zainstalowanych modułach Zend.
Jeśli chcesz znaleźć zawarte w nim pliki ini, php --ini wyświetli listę plików ini załadowanych przez moduł php (dotyczy to wersji CLI).
which
; użyj command -v
zamiast tego. Zobacz także Sprawdź, czy program istnieje ze skryptu Bash .
Po prostu dodaj prosty skrypt
<?php phpinfo(); ?>
Zakładając, że korzystasz z serwera sieci Web:
W skrypcie możesz umieścić następującą funkcję:
<?php
phpinfo();
?>
Jeśli to nie zadziała, może to być spowodowane tym, że ta funkcja jest wyłączona w php.ini. Często odbywa się to dla bezpieczeństwa. W takim przypadku w pliku php.ini pojawi się wiersz:
disable_functions = phpinfo
W takim przypadku zmień go tymczasowo na
disable_functions =
Jeśli używasz php do skryptów powłoki:
Na górze powinna znajdować się „linia shebang”, coś w rodzaju
#! / usr / local / bin / php -q
Czy na pewno jeden nie jest linkiem smybolicznym do drugiego? zrobić
ls -l / usr / local / bin / php
Nie ;-)
Również z wiersza poleceń:
$ php -v
PHP 5.2.6-3ubuntu4 z łatką Suhosin 0.9.6.2 (cli) (zbudowany: 31 marca 2009 02:11:31) Copyright (c) 1997-2008 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998- 2008 Zend Technologies
Jeśli mówisz o swoich skryptach sieciowych, które są wywoływane przez serwer Apache, a PHP jest skonfigurowany jako moduł Apache, odpowiedź jest BRAK.
Lokalizacje, o których wspominasz w swoim pytaniu, to interpretery skryptów wiersza poleceń, które można nazwać notacją typu shebang
#!/usr/local/bin/php
na górze skryptu linii poleceń php
możesz zadzwonić do tłumaczy, o których wspomniałeś osobno, ponieważ mają oni różne nazwiska
# php
wywołałby / usr / local / bin / php i
# php5
wywołałby / usr / local / bin / php5
Żaden z nich nie jest używany, jeśli używasz PHP za pośrednictwem modułu Apache. Jeśli używasz wersji CGI php, powinna pojawić się w phpinfo (); wynik.
<?php echo shell_exec('which php'); ?>
Działa to nawet, jeśli nie masz dostępu do powłoki. ;-)
which
polecenie było tym, czego potrzebowałem.