Którym poleceniem języka PHP można wyświetlić sam numer wersji zainstalowanego interpretera PHP (np. 8.2.12)?
A.
phpcredits();
B.
echo PHP_OS;
C.
echo php_uname();
D.
echo phpversion();
Polecenie echo phpversion(); jest właściwe, bo funkcja phpversion() zwraca wersję aktualnie działającego interpretera PHP jako tekst, na przykład 8.2.12. Samo phpversion() tylko zwraca wartość, a echo wypisuje ją do strumienia wyjścia, czyli w praktyce do strony WWW albo konsoli, zależnie od tego, gdzie uruchamiasz skrypt. To jest dokładnie to, o co chodzi w pytaniu: wyświetlić sam numer wersji, bez dodatkowych opisów systemu, autorów projektu czy informacji o platformie. W praktyce używa się tego czasem w panelach diagnostycznych, skryptach instalacyjnych albo podczas sprawdzania, czy aplikacja spełnia wymagania, np. czy działa na PHP 8.1 lub nowszym. Moim zdaniem warto też pamiętać o dobrej praktyce: nie pokazuj publicznie wersji PHP zwykłym użytkownikom strony, bo taka informacja może pomóc komuś w szukaniu znanych podatności. Bezpieczniej używać jej w narzędziach administracyjnych, logach albo lokalnie podczas konfiguracji środowiska. W PHP istnieje też stała PHP_VERSION, ale w tym zestawie odpowiedzi poprawnie wskazana jest funkcja phpversion() połączona z echo.
W tym pytaniu łatwo pomylić kilka funkcji diagnostycznych PHP, bo wszystkie wyglądają trochę podobnie i część z nich faktycznie zwraca informacje o środowisku uruchomieniowym. Trzeba jednak zwrócić uwagę na sformułowanie: chodzi o sam numer wersji interpretera PHP, taki jak 8.2.12. Funkcja php_uname() nie służy do tego celu. Ona zwraca informacje o systemie operacyjnym i maszynie, na której działa PHP, podobnie jak polecenie uname w systemach Unix/Linux. Wynik może zawierać nazwę systemu, wersję kernela, architekturę procesora i nazwę hosta, więc nie jest to czysty numer wersji PHP. To typowy błąd myślowy: skoro funkcja mówi coś o środowisku, to pewnie poda też wersję PHP. No właśnie niekoniecznie. Z kolei phpcredits() generuje informacje o autorach i wkładzie społeczności w rozwój PHP. To bardziej ciekawostka lub strona informacyjna niż narzędzie do sprawdzania konfiguracji. Nie zwraca prostego stringa z numerem wersji do użycia w logice programu. Stała PHP_OS również bywa myląca, bo jej nazwa zaczyna się od PHP, ale opisuje system operacyjny, dla którego zbudowano interpreter, np. Linux albo WINNT. W dobrych praktykach administracyjnych rozdziela się informacje o wersji języka, systemie operacyjnym i konfiguracji serwera. Do wersji PHP wybieramy phpversion() lub ewentualnie stałą PHP_VERSION, a nie funkcje pokazujące dane platformy czy metadane projektu.