Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Programowanie webowe Administracja serwerem i bezpieczeństwo PHP

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.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.