KWALIFIKACJA INF3 - CZERWIEC 2023 (test 2)

PYTANIE NR 37.
Aby sprawdzić ustawienia w pliku php.ini można uruchomić skrypt PHP zawierający zapis
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
phpinfo() generuje kompletną stronę z informacjami o środowisku PHP, w tym z wartościami konfiguracji (m.in. pochodzącymi z php.ini) oraz listą modułów. ini_set() służy do ustawiania wybranych opcji w trakcie działania skryptu, a phpcredits() i phpversion() nie pokazują pełnej konfiguracji.

Pełne wyjaśnienie:

Do szybkiego podejrzenia konfiguracji PHP (w tym ustawień wynikających z php.ini) standardowo używa się funkcji phpinfo(). Skrypt zawierający zapis <?php phpinfo(); ?> zwróci w przeglądarce rozbudowaną stronę diagnostyczną: informacje o wersji PHP, załadowanych rozszerzeniach, konfiguracji serwera, ścieżkach, limitach oraz wielu dyrektywach konfiguracyjnych (często z rozróżnieniem wartości "lokalnej" i "głównej").

Pozostałe propozycje nie spełniają tego celu:

  • <?php ini_set(); ?> – ta funkcja służy do ustawiania wybranych opcji konfiguracyjnych w czasie działania skryptu. Nie jest narzędziem do przeglądania całej konfiguracji i wymaga podania nazwy dyrektywy oraz wartości.
  • <?php phpcredits(); ?> – wypisuje informacje typu "credits", czyli dane o autorach/twórcach/kontrybutorach, a nie zestaw ustawień z php.ini.
  • <?php echo phpversion(); ?> – zwraca jedynie numer wersji PHP. To przydatne w diagnostyce, ale nie pozwala ocenić pełnych ustawień (np. limitów, włączonych rozszerzeń, konfiguracji błędów, uploadu itd.).

W praktyce phpinfo() jest często wykorzystywane podczas wdrożeń i rozwiązywania problemów środowiskowych. Trzeba jednak pamiętać o bezpieczeństwie: taka strona potrafi ujawnić wiele informacji o serwerze i konfiguracji, więc nie powinna być publicznie dostępna na produkcji.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
php.ini to główny plik konfiguracyjny interpretera PHP. Określa m.in. limity (pamięć, czas), obsługę błędów, upload plików oraz włączane rozszerzenia. Ustawienia z php.ini wpływają na działanie wszystkich skryptów uruchamianych w danym środowisku.
Najczęściej tworzy się plik z kodem <?php phpinfo(); ?> i uruchamia go w przeglądarce. Wynik pokazuje szczegółową konfigurację PHP, w tym wartości dyrektyw (często jako "Local Value" i "Master Value") oraz listę załadowanych modułów.
Funkcja phpinfo() generuje raport o bieżącym stanie środowiska PHP. Ponieważ php.ini jest jednym ze źródeł konfiguracji, raport prezentuje dyrektywy i ich aktualne wartości, które wynikają z plików ini, ustawień serwera oraz ewentualnych nadpisań w aplikacji.
Nie. ini_set() służy do ustawiania wybranych opcji w trakcie działania skryptu, o ile dana dyrektywa może być zmieniona w tym kontekście. Do podglądu konfiguracji zwykle wykorzystuje się phpinfo() (pełny raport) albo inne funkcje odczytujące konkretne wartości.
phpversion() zwraca numer wersji PHP. Jest przydatne do szybkiej diagnostyki zgodności aplikacji (np. wymagania frameworka) oraz podczas zgłoszeń serwisowych. Nie zastępuje jednak phpinfo(), bo nie pokazuje rozszerzeń ani ustawień konfiguracyjnych.
phpcredits() wyświetla stronę z informacjami typu "credits" (autorzy i wkład w projekt). To dane informacyjne o projekcie PHP, a nie o konfiguracji Twojego serwera. Dlatego nie wykorzystuje się jej do sprawdzania ustawień z php.ini.
Zwykle nie. Strona z phpinfo() może ujawnić szczegóły środowiska (moduły, ścieżki, konfigurację), które ułatwiają ataki. Jeśli jest potrzebna do diagnostyki, ogranicz dostęp (np. uwierzytelnianie, IP allowlist) i usuń plik po zakończeniu prac.
W praktyce często weryfikuje się limity i parametry działania, np. rozmiary uploadu, limity pamięci, czas wykonywania oraz sposób raportowania błędów. Sprawdza się też, czy wymagane rozszerzenia są załadowane. phpinfo() ułatwia szybkie potwierdzenie tych elementów.
Różne środowiska (Apache mod_php, PHP-FPM, CLI) mogą mieć inne pliki ini i inne wartości. Dodatkowo część ustawień bywa nadpisywana per katalog, per vhost lub przez aplikację. Wtedy raport pokazuje wartości "lokalne" różne od "głównych", co wymaga uważnej interpretacji.
Ćwicz rozpoznawanie funkcji informacyjnych PHP i interpretację wyników phpinfo(). Naucz się, co oznaczają typowe dyrektywy i gdzie mogą być ustawiane. W zadaniach egzaminacyjnych zwracaj uwagę, czy pytanie dotyczy podglądu konfiguracji, zmiany ustawień w runtime, czy tylko sprawdzenia wersji.
info

Około 80% zdających odpowiada poprawnie na to pytanie. średnio łatwe

Według specjalistów z branży: "phpinfo() generuje kompletną stronę z informacjami o środowisku PHP, w tym z wartościami konfiguracji (m.in. pochodzącymi z php.ini) oraz listą modułów."

Źródła:

  • PHP Manual: phpinfo — https://www.php.net/manual/en/function.phpinfo.php (accessed 2026-03-02)
  • PHP Manual: ini_set — https://www.php.net/manual/en/function.ini-set.php (accessed 2026-03-02)
  • PHP Manual: phpcredits — https://www.php.net/manual/en/function.phpcredits.php (accessed 2026-03-02)

Materiały:

  • Oficjalna dokumentacja PHP: opis funkcji phpinfo() i powiązanych funkcji informacyjnych
  • Materiały o konfiguracji PHP i pliku php.ini (tryby: wartości lokalne i globalne)
  • Ćwiczenia praktyczne: utworzenie strony diagnostycznej i interpretacja jej sekcji

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego