Jak ustalić, który PHP jest używany?
Na przykład, jeśli istnieją /usr/local/bin/php
i usr/local/bin/php5
skąd mam wiedzieć, który jest używany przez moje skrypty PHP?
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
polecenie było tym, czego potrzebowałem.which
; użyjcommand -v
zamiast tego. Zobacz także Sprawdź, czy program istnieje ze skryptu Bash .Po prostu dodaj prosty skrypt
źródło
php
z loginu użytkownika; i niekoniecznie php używany przez Apache?Zakładając, że korzystasz z serwera sieci Web:
W skrypcie możesz umieścić następującą funkcję:
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:
W takim przypadku zmień go tymczasowo na
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ódło
Również z wiersza poleceń:
źródło
php
z loginu użytkownika; i niekoniecznie php używany przez Apache?źródło
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
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
wywołałby / usr / local / bin / php i
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.
źródło
źródło
Działa to nawet, jeśli nie masz dostępu do powłoki. ;-)
źródło