Jak czytać błędy PHP
🎯 Po tej lekcji będziesz umieć znaleźć i naprawić błąd na podstawie komunikatu PHP.
Każdy programista popełnia błędy — to normalne. Sztuka polega na tym, żeby szybko je znaleźć i naprawić. PHP jest w tym pomocny: daje konkretne komunikaty z numerem linii i opisem problemu.
Włącz wyświetlanie błędów
Domyślnie PHP może ukrywać błędy. Podczas nauki i developmentu chcesz je widzieć. Na początku swojego pliku dodaj:
<?php
declare(strict_types=1);
ini_set('display_errors', '1');
error_reporting(E_ALL);
echo 'Cześć, Ola!';
Te dwie linie sprawią, że PHP pokaże każdy błąd w przeglądarce — zamiast wyświetlać pustą stronę.
Typy błędów PHP
Parse error — błąd składni
To najczęstszy błąd na początku nauki. PHP nie może nawet uruchomić skryptu, bo napotyka coś, czego nie rozumie:
Parse error: syntax error, unexpected token "echo" in /var/www/index.php on line 5
Najczęstsza przyczyna: brakujący średnik na końcu poprzedniej linii:
<?php
declare(strict_types=1);
echo 'Cześć, Ola!' // brakuje średnika!
echo 'Miło Cię poznać.';
PHP mówi, że błąd jest w linii 5 (przy echo), ale faktyczny problem jest w linii 4 — brak średnika. Zawsze sprawdzaj linię wskazaną w błędzie i linię tuż powyżej.
Warning — ostrzeżenie
Warning (ostrzeżenie) to mniej poważny błąd — skrypt dalej działa, ale coś jest nie tak:
Warning: Undefined variable $imie in /var/www/index.php on line 5
Skrypt wykona się do końca, ale z nieoczekiwanym wynikiem.
Notice — uwaga
Notice to łagodny poziom informacyjny. Ważna rzecz dla PHP 8: w PHP 8.0 wiele dawnych Notices (np. użycie niezdefiniowanej zmiennej) zostało awansowanych do rangi Warning. Dlatego jako początkujący będziesz najczęściej spotykać właśnie Warning i Error — Notices pojawiają się rzadziej i dotyczą bardziej zaawansowanych przypadków. Przy error_reporting(E_ALL) zobaczysz je wszystkie.
Jak czytać komunikat błędu
Weźmy przykładowy komunikat:
Parse error: syntax error, unexpected end of file in /Users/kuba/projekt/index.php on line 9
Czytaj go od prawej do lewej:
on line 9— błąd jest w lub tuż przed linią 9./Users/kuba/projekt/index.php— nazwa pliku z błędem.syntax error, unexpected end of file— opis: PHP doszedł do końca pliku i czegoś brakuje (często niezamknięty nawias lub brakujący średnik).Parse error— typ błędu: składniowy.
Krok po kroku — napraw błąd
- Otwórz plik wskazany w komunikacie.
- Przejdź do wskazanej linii i sprawdź linię powyżej.
- Szukaj: brakującego średnika
;, niezamkniętego cudzysłowu'lub nawiasu. - Popraw i odśwież stronę.
Sprawdź się
Co oznacza 'Parse error' w komunikacie PHP?
Parse error to błąd składni — PHP napotkał coś, czego nie rozumie, np. brakujący średnik.
Jak włączysz wyświetlanie błędów w pliku PHP podczas developmentu?
error_reporting(E_ALL) wraz z ini_set('display_errors', '1') włącza wyświetlanie wszystkich błędów.
Ćwiczenie
Usuń celowo średnik z końca jednej instrukcji echo i uruchom skrypt. Przeczytaj błąd, znajdź numer linii i napraw go.
Pokaż rozwiązanie
<?php
declare(strict_types=1);
// Błędna wersja:
// echo 'Cześć'
// echo 'Ola!';
// Poprawiona wersja:
echo 'Cześć';
echo 'Ola!';