Migracja PHP kosztuje od 1 500 zł netto za prostą aktualizację małej aplikacji do kilkudziesięciu tysięcy złotych za duży system legacy rozliczany etapami. Cena zależy od trzech zmiennych: liczby blokad zgodności, jakości testów i liczby porzuconych bibliotek. Ten artykuł rozkłada koszt migracji na czynniki pierwsze — z widełkami, przykładowymi kosztorysami i porównaniem z kosztem zaniechania.
Najważniejsze: Migracja PHP to jedno z najtańszych i najbardziej opłacalnych ulepszeń w starym systemie — zwykle 3 000–40 000 zł netto zależnie od rozmiaru projektu. Największym zmiennym kosztem jest wymiana porzuconych bibliotek, a drugim — napisanie testów, jeśli projekt ich nie ma. To inwestycja, która zwraca się bezpieczeństwem, wydajnością i odblokowaniem aktualizacji.
Widełki kosztów migracji PHP — trzy typy projektów
- Punkt wyjścia: każda migracja PHP ma ten sam zestaw etapów (audyt zgodności, poprawki kodu, testy, staging, wdrożenie). Różni się ich głębokość — a więc i koszt.
| Projekt | Charakterystyka | Czas | Koszt (netto) |
|---|---|---|---|
| Mały | do ~20 tys. linii kodu, brak egzotycznych zależności, aktualne biblioteki | 3–10 dni | 3 000 – 10 000 zł |
| Średni | framework, integracje z systemami zewnętrznymi, 1–3 porzucone biblioteki, częściowe testy | 2–8 tygodni | 10 000 – 40 000 zł |
| Duży / legacy | brak testów, własne rozszerzenia, wiele porzuconych bibliotek, kod bez dokumentacji | 2–6 miesięcy | 40 000 zł+ (etapami) |
Te widełki dotyczą migracji „o jedną–dwie generacje" (np. 7.4 → 8.4 albo 8.2 → 8.4). Skok z PHP 5.6 przez trzy generacje jest bliżej górnej granicy widełek dla danego rozmiaru projektu — nie dlatego, że sam skok jest trudniejszy, ale dlatego, że systemy na 5.6 są zwykle starsze „globalnie": mają więcej porzuconych bibliotek i mniej testów.
Co dokładnie składa się na koszt
Koszt migracji to suma kilku pozycji, z których tylko pierwsza jest oczywista.
Audyt zgodności — 1 500–5 000 zł. Skan PHPCompatibility i PHPStan plus inwentaryzacja zależności. Wynik: lista blokad i plan migracji. W małych projektach mieści się w 1–2 dniach, w dużych (dziesiątki modułów, własne rozszerzenia) rośnie do tygodnia. To najtańszy etap — i najważniejszy, bo jego brak to migracja „na wyczucie".
Poprawki kodu — 2 000–20 000 zł. Automatyczna refaktoryzacja Rectorem (dni pracy), potem ręczne poprawki w miejscach, których automaty nie naprawią: logika zależna od zmienionego zachowania języka, nietypowe rzutowania typów, kod generowany. W projektach bez testów dochodzi czas na ręczną weryfikację zmian.
Testy zabezpieczające — 0–20 000 zł. Największa zmienna. Projekt z testami: koszt zerowy (uruchamiasz to, co jest). Projekt bez testów: 15–20 testów end-to-end na ścieżkach krytycznych to 5–15 dni pracy, czyli często połowa całego budżetu migracji. Paradoksalnie migracja bez testów jest tańsza na papierze i droższa w praktyce — każda regresja wyjdzie na produkcji.
Wymiana porzuconych bibliotek — 0–15 000 zł. Zależność, która nie ma wersji na docelowe PHP, wymaga zamiany: na aktywnie rozwijany odpowiednik, na własną implementację albo wycięcia funkcji. Jedna biblioteka potrafi pochłonąć tydzień. To najbardziej nieprzewidywalna pozycja — dlatego audyt inwentaryzuje zależności na starcie, a nie w połowie migracji.
Staging, wdrożenie, monitoring — 1 000–5 000 zł. Środowisko testowe na docelowej wersji (jeśli go nie ma), wdrożenie produkcyjne poza szczytem, plan wycofania i monitoring po wdrożeniu. W dojrzałych projektach z CI/CD to rutynowa zmiana — w projektach wdrażanych „przez FTP" dochodzi koszt przygotowania procesu.
Aktualizacja frameworka i zależności — osobna pozycja. Migracja PHP odblokowuje aktualizację frameworka (Laravel, Symfony) i bibliotek. To drugi projekt, który warto wycenić osobno — dla aplikacji na Laravel to typowo 1–4 tygodnie pracy zależnie od liczby wersji do nadrobienia.
Przykładowe kosztorysy
Trzy scenariusze z życia — z rozbiciem na pozycje.
- Scenariusz 1: strona firmowa na własnym CMS, PHP 7.4, ~15 tys. linii.
| Pozycja | Czas | Koszt (netto) |
|---|---|---|
| Audyt zgodności | 1 dzień | 1 500 zł |
| Refaktoryzacja Rector + poprawki | 3 dni | 3 500 zł |
| Testy dymne ścieżek krytycznych | 1 dzień | 1 500 zł |
| Wdrożenie i monitoring | 1 dzień | 1 500 zł |
| Razem | 6 dni | 8 000 zł |
- Scenariusz 2: aplikacja na Laravel 8 + PHP 7.4 z integracjami, ~60 tys. linii, testy częściowe.
| Pozycja | Czas | Koszt (netto) |
|---|---|---|
| Audyt zgodności i plan | 2 dni | 3 000 zł |
| Migracja PHP (Rector + poprawki) | 6 dni | 9 000 zł |
| Wymiana 2 porzuconych bibliotek | 5 dni | 8 000 zł |
| Uzupełnienie testów (z 30% na 60%) | 4 dni | 6 000 zł |
| Aktualizacja Laravel 8 → 11 | 6 dni | 9 000 zł |
| Staging, wdrożenie, monitoring | 2 dni | 3 000 zł |
| Razem | 25 dni | 38 000 zł |
- Scenariusz 3: system legacy na PHP 5.6, ~150 tys. linii, brak testów, własne rozszerzenia.
Praca etapami przez 3–5 miesięcy, łącznie 50 000–80 000 zł netto. Etapy: audyt i mapa zależności (1 tydzień), testy charakterystyczne ścieżek krytycznych (3–4 tygodnie), migracja 5.6 → 7.4 → 8.4 z Rectorem (4–6 tygodni), wymiana bibliotek (zmienna), stabilizacja i monitoring (2 tygodnie). Taki projekt wycenia się etapami, a każdy etap kończy się działającym systemem — nie „wielkim wybuchem" na końcu.
Koszt zaniechania — ile kosztuje stara wersja PHP
Migracja ma alternatywę, którą trzeba wycenić uczciwie: zostanie na starej wersji.
- Komercyjne przedłużone wsparcie — dla wersji po EOL firmy trzecie sprzedają łaty bezpieczeństwa: koszt rzędu kilku–kilkunastu tysięcy złotych rocznie. To bufor dla dużych systemów, nie rozwiązanie docelowe.
- Koszt incydentu bezpieczeństwa — system bez łatek, w którym zostanie wykorzystana podatność, to koszt czyszczenia, przestoju, rotacji dostępów i ewentualnych konsekwencji RODO. Dla sklepu z płatnościami to także utrata zaufania i ruchu.
- Koszt rosnących stawek — programistów od starych wersji PHP jest coraz mniej. Każde zlecenie „napraw na 5.6" jest droższe niż porównywalne na 8.x, a pula wykonawców topnieje.
- Koszt zamrożenia rozwoju — bez aktualizacji PHP nie zaktualizujesz frameworka ani bibliotek, więc każda nowa funkcja (płatności, integracje, API partnerów) jest droższa albo niemożliwa.
- Koszt odroczonej migracji — za rok lub dwa do nadrobienia będą kolejne wersje, a biblioteki podniosą wymagania. Koszt nie stoi w miejscu, tylko rośnie.
W praktyce pytanie nie brzmi „czy migrować", ale „kiedy" — a najtańszy moment to zawsze przed EOL, gdy migracja jest planowana, a nie wymuszona awarią.
Jak obniżyć koszt migracji bez utraty jakości
Sprawdzone sposoby na zdjęcie kosztu w dół — w kolejności największego zwrotu.
- Migruj wcześnie i krokami. Przejście 8.2 → 8.4 to dni pracy; skok 5.6 → 8.4 to tygodnie. Regularne małe aktualizacje są tańsze niż rzadkie duże.
- Utrzymuj testy na ścieżkach krytycznych. 15–20 testów end-to-end zamienia „migrację z ręczną weryfikacją" w „migrację z zielonym światłem" — oszczędza dni przy każdej kolejnej zmianie.
- Używaj Rectora i CI. Automatyzacja mechanicznej części to największa dźwignia — ręczna refaktoryzacja tego samego zakresu jest kilkukrotnie droższa.
- Pozbądź się martwych zależności przed audytem. Biblioteka, której nikt nie używa, kosztuje tyle samo co potrzebna — wycięcie jej przed migracją to czysty zysk.
- Rozliczaj etapami. Dla dużych systemów etapowe rozliczenie (audyt → testy → migracja → stabilizacja) rozkłada budżet i ryzyko, a każdy etap dostarcza działający system.
- Nie łącz migracji PHP z przepisywaniem na nowe technologie. Zmiana wersji i zmiana architektury w jednym projekcie podwaja ryzyko. Modernizację architektury zaplanuj jako osobny etap — po stabilnej migracji.
Od czego zacząć — pierwszy krok kosztuje 2 000 zł
Standardowy punkt startowy to audyt techniczny: analiza zgodności, inwentaryzacja zależności i raport z planem migracji wraz z kosztorysem. Audyt kosztuje 2 000 zł netto i odpowiada na pytanie „ile dokładnie będzie kosztować migracja w tym projekcie" — zamiast widełek z artykułu dostajesz liczby dla swojego kodu.
Zakres audytu opisuję w artykule o audycie kodu legacy, a usługę prowadzę w ramach modernizacji legacy PHP. Cały proces migracji krok po kroku — od audytu po wdrożenie z monitoringiem — znajdziesz w przewodniku o migracji PHP na 8.x. Jeśli patrzysz na konkretny deadline, zacznij od artykułu o końcu wsparcia PHP 8.2 albo wersjach PHP i datach wsparcia.
Najczęściej zadawane pytania
Ile kosztuje migracja PHP z 7.4 na 8.x?
- Dla małego projektu: 3 000–10 000 zł netto (3–10 dni pracy). Dla średniej aplikacji z frameworkiem i integracjami: 10 000–40 000 zł (2–8 tygodni). Duże systemy legacy rozliczane etapami: od 40 000 zł. Największe zmienne to stan testów i liczba porzuconych bibliotek.
Dlaczego migracja PHP kosztuje więcej, gdy projekt nie ma testów?
Bez testów nie da się masowo weryfikować zmian — Rector przepisze tysiące linii, a każdą zmianę trzeba sprawdzić ręcznie albo ryzykować regresję na produkcji. Napisanie 15–20 testów ścieżek krytycznych to 5–15 dni pracy, co często stanowi połowę budżetu migracji. Testy zostają jednak w projekcie na stałe — to inwestycja, nie koszt jednorazowy.
Czy migracja PHP może być tańsza niż 3 000 zł?
Tak — przy bardzo małych projektach (kilka tysięcy linii, brak porzuconych bibliotek) migracja z 8.2/8.3 na 8.4 to czasem 1–2 dni pracy, czyli 1 500–3 000 zł netto. Im mniejszy skok między wersjami i lepszy stan projektu, tym niższa cena. Regularne małe aktualizacje to najtańsza strategia.
Czy da się rozłożyć koszt migracji na etapy?
Tak i dla dużych systemów to zalecany model: audyt → testy zabezpieczające → migracja modułami → stabilizacja. Każdy etap kończy się działającym systemem i osobną płatnością, a budżet rozkłada się na tygodnie lub miesiące. Etapowe rozliczenie zmniejsza też ryzyko — widzisz postęp, zanim zapłacisz za całość.
Ile kosztuje utrzymanie systemu po migracji?
Sama migracja nie zmienia kosztu utrzymania — ale go obniża: nowsze PHP jest szybsze (niższe koszty serwera), nowsze biblioteki są bezpieczniejsze (mniej awaryjnych napraw), a aktualizacje stają się możliwe (mniej pracy przy każdej zmianie). Pakiety opieki technicznej zaczynają się od 300 zł netto miesięcznie za stronę i 400 zł za sklep.
Czy migracja PHP to koszt jednorazowy?
Migracja konkretnej wersji — tak. Ale PHP wydaje nową wersję co roku, a wsparcie trwa cztery lata, więc w cyklu życia systemu migracja wraca raz na 2–3 lata. Najtańszy model to aktualizacja „o jedną wersję" w rytmie, który nie dopuszcza do EOL — koszt rozkłada się wtedy na małe, przewidywalne kroki.