Bahnhofstraße 22, 52134 Herzogenrath Poniedziałek - piątek: 8:00 - 16:30 kontakt@milnersoftware.de 0176 66798849

Analiza błędu 150 € netto

Naprawa błędów PHP

Fatal error, błąd 500 albo biała strona – znajduję przyczynę w kodzie i ją usuwam, zamiast tylko ukrywać komunikat o błędzie.

  1. (01) Szybka pomoc przy awarii
  2. (02) Naprawa przyczyny w kodzie
  3. (03) Kopia przed każdą zmianą
Przemyslaw Milner, Webentwickler aus Herzogenrath bei Aachen

Przemyslaw Milner

Naprawa błędów PHP

Nasze usługi

Bildschirm mit Programmcode in einem Editor

Biała strona i błąd 500

Za białą stroną albo błędem 500 prawie zawsze stoi błąd PHP, którego serwer po prostu nie pokazuje.

✓ Analiza logów błędów serwera
✓ Szukanie Fatal error i Uncaught Error
✓ Błędy pamięci (memory exhausted)
✓ Przywrócenie działania strony

Dowiedz się więcej
Zahlenschloss auf einer hellen Computertastatur

Błędy po aktualizacji PHP

Wiele błędów pojawia się, gdy hosting podnosi wersję PHP. Kod jest wtedy po prostu za stary.

✓ Usunięte funkcje, np. mysql_* czy each()
✓ Komunikaty Deprecated od PHP 8.2
✓ Stare wtyczki i rozszerzenia
✓ Dostosowanie kodu do aktualnego PHP

Dowiedz się więcej
Gezeichnete Entwürfe für das Layout einer Website

Własne aplikacje PHP

Nie tylko WordPress: naprawiam też sklepy, systemy CRM i aplikacje PHP pisane na zamówienie.

✓ Także bez pierwotnego programisty
✓ Błędy bazy danych i zepsute zapytania
✓ Formularze, logowanie, interfejsy
✓ Udokumentowane zmiany

Dowiedz się więcej

Gdy się pali

Strona pokazuje błąd PHP – co teraz?

Wczoraj strona działała, dziś widać „Fatal error”, białą stronę albo „500 Internal Server Error” (po niemiecku często „Fehler 500”). Klienci nie mogą nic zamówić, formularz kontaktowy milczy, a hosting odpowiada: „To wina Państwa aplikacji”.

Bardzo często winna jest aktualizacja PHP. Firmy hostingowe, takie jak IONOS, Strato czy All-Inkl, wyłączają stare wersje PHP albo każą sobie za nie dopłacać. PHP 7.4 nie dostaje poprawek bezpieczeństwa od 28.11.2022, PHP 8.0 od 26.11.2023, PHP 8.1 od 31.12.2025. Kod, który działał latami, sypie się wtedy w miejscach, których nikt już nie pamięta.

Jestem programistą PHP z ponad dziesięcioletnim doświadczeniem. Czytam log błędów, znajduję linię kodu, która wywołuje błąd, i ją poprawiam. Przy drobnych błędach strona często działa jeszcze tego samego dnia.

Jeśli czeka Państwa większa aktualizacja, szczegóły są na stronie aktualizacja PHP do wersji 8.

Laptop mit Programmcode auf einem hellen Schreibtisch
Zwei Personen besprechen eine Website am Laptop

Komunikaty błędów

Typowe błędy PHP i co oznaczają

Strona w ogóle nie działa

  • Biała strona: poważny błąd PHP przerywa działanie skryptu, a wyświetlanie błędów jest wyłączone. Prawdziwy komunikat jest w logu błędów.
  • 500 Internal Server Error: serwer mówi tylko „coś poszło nie tak”. Przyczyną jest zwykle błąd PHP, czasem zły plik .htaccess.
  • Fatal error: Uncaught Error: Call to undefined function mysql_connect(): kod używa funkcji, których nie ma od PHP 7. To samo dotyczy each() i create_function() w PHP 8.
  • Allowed memory size of … bytes exhausted: skrypt potrzebuje więcej pamięci, niż wolno – często przez nieskończoną pętlę albo za duże zapytanie, a nie przez za mały limit.

Strona działa, ale pokazuje ostrzeżenia

  • Deprecated: Creation of dynamic property: od PHP 8.2 PHP ostrzega, gdy kod tworzy właściwości „w locie”. Dziś to ostrzeżenie, w jednej z kolejnych wersji – błąd.
  • Warning: Undefined array key / Undefined variable: kod sięga po wartości, których nie ma. Od PHP 8 PHP zgłasza to dużo ostrzej.
  • Uncaught TypeError: funkcja dostaje zły typ danych, np. null zamiast tekstu. PHP 8 w tym miejscu się zatrzymuje, a starsze wersje po cichu szły dalej.
  • Cannot modify header information – headers already sent: coś wypisuje tekst przed przekierowaniem. Skutek: nie działa logowanie albo formularz.

Z czym pracuję

Ukryć czy naprawić

Dlaczego naprawiam błędy PHP, zamiast je ukrywać

Szybka pozorna naprawa

Częsta rada w internecie: wyłączyć display_errors albo ustawić error_reporting na 0. Komunikaty znikają z ekranu – błąd zostaje.

Skutki widać później: zamówienia się nie zapisują, maile nie wychodzą, dane zapisują się do połowy. A ponieważ nic się już nie loguje, przy następnej awarii nikt nie znajdzie przyczyny. Dzisiejsze ostrzeżenie Deprecated po kolejnej aktualizacji PHP staje się błędem Fatal error.

Co robię zamiast tego

Na publicznej stronie wyłączam wyświetlanie błędów – tak powinno być. Logowanie zostawiam jednak włączone i usuwam błędy jeden po drugim: zamieniam funkcję, dodaję sprawdzenie, poprawiam zapytanie.

Na końcu log błędów jest pusty, a Państwo wiedzą, że aplikacja przetrwa też kolejną wersję PHP. Jeśli strona stoi na WordPressie, w grę wchodzi też naprawa WordPress.

Co obejmuje analiza błędów PHP

Dostają Państwo jasną odpowiedź: co wywołuje błąd, jak poważna jest sprawa i ile kosztuje naprawa.

Log błędów

Analiza logów PHP i serwera – tam jest to, czego nie pokazuje biała strona.

Wersja PHP

Jaka wersja działa, jaką hosting wymusi jako następną i co w kodzie do niej nie pasuje.

Przyczyna w kodzie

Dokładny plik i linia, która wywołuje Fatal error albo błąd 500.

Pamięć i czas działania

Sprawdzenie przy „memory exhausted” i przekroczeniu czasu: błąd w kodzie czy limit serwera.

Baza danych

Zepsute zapytania, stare wywołania mysql_*, błędy kodowania znaków.

Wtyczki i rozszerzenia

Stare lub porzucone rozszerzenia, które nie działają z aktualnym PHP.

Bezpieczeństwo

Sygnały, czy błąd nie jest skutkiem włamania lub obcego kodu.

Stała cena

Co trzeba zrobić, według pilności, ze stałą ceną za naprawę.

Jak przebiega naprawa błędów PHP

  1. Zgłoszenie

    Przesyłają mi Państwo adres strony, zrzut ekranu z komunikatem i informację, od kiedy błąd występuje.

  2. Dostęp

    Dają mi Państwo dostęp FTP lub SSH i, jeśli jest, dostęp do panelu hostingu.

  3. Kopia zapasowa

    Zanim cokolwiek zmienię, zabezpieczam pliki i bazę danych.

  4. Analiza

    Sprawdzam log błędów, znajduję przyczynę i podaję stałą cenę naprawy.

  5. Naprawa

    Usuwam błąd w kodzie – przy większych zmianach najpierw na kopii testowej.

  6. Kontrola

    Sprawdzam najważniejsze funkcje, zaglądam do logu i opisuję, co zmieniłem.

Uwaga

Czego lepiej nie robić przy błędzie PHP

Pod presją czasu łatwo sięgnąć po rozwiązania, które tylko odsuwają problem albo go powiększają:

  • Cofnięcie PHP na stałe: powrót do PHP 7.4 może dać kilka dni spokoju. Jako stałe rozwiązanie oznacza brak poprawek bezpieczeństwa, często dopłatę u hostingu i w końcu przymusową zmianę.
  • Edycja plików na żywym serwerze bez kopii: jeden brakujący średnik i cała strona jest biała. Bez kopii zapasowej nie ma drogi powrotu.
  • Samo wyłączenie wyświetlania błędów: komunikat znika, błąd nie. Dane mogą ginąć niezauważone.
  • Kasowanie wtyczek i rozszerzeń na ślepo: razem z nimi mogą zniknąć ustawienia i dane. Lepiej wyłączyć konkretną wtyczkę, gdy przyczyna jest znana.
  • Wklejanie kodu z forów bez sprawdzenia: to, co pomogło komuś innemu, rzadko pasuje do Państwa systemu – a czasem otwiera lukę w zabezpieczeniach.

Jeśli cała aplikacja ma już swoje lata, warto zajrzeć na stronę modernizacja starego systemu.

Cennik

Ile kosztuje naprawa błędów PHP

Najpierw szukam przyczyny, potem stała cena – bez rozliczania godzin.

Pierwszy krok

Analiza błędu PHP

150 € netto, jednorazowo

Szukanie przyczyny błędu na stronie lub w małej aplikacji PHP.

  • Analiza logów błędów i serwera
  • Sprawdzenie wersji PHP i rozszerzeń
  • Dokładna przyczyna w kodzie
  • Stała cena za naprawę

Naprawa

od 290 € netto, stała cena

Usunięcie błędu w kodzie, z kopią zapasową przed i kontrolą po.

  • Kopia plików i bazy danych
  • Błąd naprawiony w kodzie, nie ukryty
  • Test najważniejszych funkcji
  • Krótka lista wszystkich zmian

Wszystkie ceny netto plus 19 % VAT. Większe przebudowy według stałej ceny po analizie.

Dlaczego ze mną

Naprawa błędów PHP od programisty, nie od infolinii

Ponad dziesięć lat z PHP: WordPress, TYPO3, sklepy i własne systemy CRM. Widziałem komunikaty błędów z wielu wersji PHP i wiem, gdzie szukać najpierw. Rozmawiają Państwo bezpośrednio z osobą, która naprawia kod – po polsku albo po niemiecku.

Kleines Team arbeitet gemeinsam an Laptops an einem Holztisch
  • Analiza błędu za stałą cenę: 150 € netto
  • Błędy naprawione w kodzie, nie ukryte
  • Kopia zapasowa przed każdą zmianą
  • Kontakt osobiście, po polsku i po niemiecku
  • Całe Niemcy, zdalnie

Częste pytania o błędy PHP

Co warto wiedzieć, gdy strona właśnie nie działa.

Analiza błędu kosztuje 150 € netto. Naprawa zaczyna się od 290 € netto. Dokładną stałą cenę podaję, zanim zacznę.

Przy awarii zaglądam na stronę najszybciej, jak się da. Proste błędy często naprawiam jeszcze tego samego dnia. Konkretne terminy podaję, gdy znam przyczynę.

Poważny błąd PHP przerywa działanie strony, a wyświetlanie błędów jest wyłączone. Właściwy komunikat jest w logu błędów na serwerze – od tego zaczynam.

Serwer zgłasza błąd wewnętrzny bez szczegółów. Najczęściej stoi za tym Fatal error w kodzie PHP, rzadziej zły plik .htaccess albo problem z uprawnieniami.

Na krótko może pomóc cofnięcie wersji PHP. Na stałe kod trzeba dostosować do nowej wersji. Gdy miejsc do poprawy jest dużo, lepsza jest zaplanowana aktualizacja PHP.

Na publicznej stronie komunikaty nie powinny być widoczne. Ale to niczego nie naprawia: to, co dziś jest „Deprecated”, w jednej z kolejnych wersji PHP stanie się błędem Fatal error.

Tak. Większość aplikacji, przy których pracuję, napisał ktoś inny. Państwo zachowują kod źródłowy i wszystkie dostępy.

Z poradnika

WordPress nie jest zły – tylko źle zbudowany

Wolny, dziurawy, ciągle się psuje? Zwykle winny nie jest WordPress, tylko page buildery, nadmiar wtyczek i motywy „multipurpose”. Co zmienia własny motyw.

Czytaj dalej

Zhakowany WordPress? Jak to rozpoznać

Obce strony w Google, przekierowania tylko na telefonie, nieznani administratorzy – sześć objawów, po których rozpoznają Państwo włamanie na WordPressa, i co zrobić od razu.

Czytaj dalej

Przemyslaw Milner, Webentwickler aus Herzogenrath bei Aachen Przemyslaw Milner Naprawa błędów PHP

Strona pokazuje błąd PHP? Proszę przesłać mi komunikat.

Na początek wystarczy zrzut ekranu i adres strony. W dni robocze odpowiadam szybko i mówię, co dalej.