PHP & Craft CMS: przejęcie, aktualizacja i utrzymanie aplikacji

Nasi inżynierowie pracują z PHP, Smarty, Slim i WordPress od 2012 r., do tego dochodzi Craft CMS. Przejmujemy aplikacje sprzed lat, podnosimy je do wspieranej wersji PHP i prowadzimy dalej, także szablony Smarty, Twig i interfejsy oparte na jQuery.

  • PHP, Smarty i Slim od 2012 r.
  • Craft CMS i WordPress: przejęcie, aktualizacje, wtyczki
  • Odpowiedź w ciągu jednego dnia roboczego

Gdzie stosujemy PHP & Craft CMS

Wiele aplikacji PHP jest starszych niż osoby, które dziś się nimi opiekują: sklepy, intranety, portale i aplikacje branżowe, napisane dla PHP 5 lub 7. Działają, ale część dostawców hostingu dolicza za nie opłaty, ubezpieczyciel zadaje pytania, a nikt nie chce ryzykować aktualizacji.

Przejęcie porzuconej aplikacji, aktualizacja do wspieranej wersji i bieżące utrzymanie należą do codziennej pracy naszych inżynierów. Strony na WordPressie utrzymujemy, aktualizujemy i zabezpieczamy. Jakich systemów to dotyczyło, opisujemy na stronie Doświadczenie.

Craft CMS

Do stron i portali z treściami o wyraźnej strukturze w kilku językach stosujemy Craft CMS, system zarządzania treścią oparty na PHP. Przejmujemy projekty na Craft od agencji, aktualizujemy je, piszemy wtyczki i realizujemy nowe projekty. Także ta strona działa na Craft CMS. Więcej na stronie Craft CMS.

Po lewej panel z polami, po prawej okno przeglądarki z blokami treści; linie łączą pola z blokami, jedna linia jest pomarańczowa

Typowe zadania przy PHP

  • Przejęcie porzuconej aplikacji: spisanie dostępów, repozytorium, bazy danych, kopii zapasowych i ryzyk (Przegląd systemu legacy), a przy przejęciu plan na pierwsze 30 i 90 dni.
  • Aktualizacja do wspieranej wersji PHP, krok po kroku i z testami. Rozszerzenia, Smarty, jQuery i bazę danych sprawdzamy wcześniej.
  • Przegląd bezpieczeństwa i wydajności: indeksy, wolne zapytania, WAF i ochrona dostępu.
  • Usuwanie podatności wskazanych w raportach z testów penetracyjnych (XSS, SQL injection) oraz pierwsze analizy podatności.
  • Dalszy rozwój dla firm bez własnych programistów.
  • Integracje przez SOAP/XML i REST/JSON.
  • Udostępnienie sprawdzonej logiki jako API i budowa nowych elementów obok, bez przepisywania całości (Monolit jako usługa webowa).
  • Przeniesienie aplikacji PHP z klasycznego hostingu do kontenera (Z hostingu do kontenera).
Trzy rzędy, po lewej stare, po prawej nowe: niskie schody z dwoma stopniami stają się wysokimi z pięcioma; to samo okno aplikacji przenosi się ze starego serwera narysowanego przerywaną linią na nowy serwer w szafie, z pomarańczową strzałką; wąska przerywana baza danych staje się szeroka i ciągła

Przepisać od zera czy dalej utrzymywać?

Zwykle taniej i bezpieczniej jest zachować aplikację i ją modernizować, niż pisać ją od nowa. Działający system zawiera lata reguł biznesowych, wyjątków i poprawek, których nie spisano nigdzie indziej. Nowa aplikacja musi je wszystkie odkryć na nowo, a do jej ukończenia trzeba utrzymywać dwa systemy.

Możliwe są trzy drogi:

  • Dalsze utrzymanie i aktualizacja: jeśli problemem jest głównie wersja PHP albo przestarzałe biblioteki, wystarczy aktualizacja. Aplikacja zachowuje funkcje i dane, a Państwa zespół pracuje dalej jak dotąd.
  • Modernizacja etapami: istniejąca aplikacja działa dalej, a obok powstają nowe części, na przykład nowy frontend albo osobna usługa, która komunikuje się ze starym rdzeniem przez interfejs. Stare części wymieniamy po kolei.
  • Przepisanie od zera: warto je rozważyć, gdy framework nie jest już rozwijany, brakuje testów, a reguły biznesowe da się w pełni spisać.

Zanim zarekomendujemy drogę, sprawdzamy kod, jego zależności i istniejące testy. Powiemy również, gdy migracja się nie opłaca.

Jeden system po lewej i trzy drogi w prawo: u góry do takiego samego systemu, pośrodku do wyższego, u dołu do systemu o innym, zaokrąglonym kształcie; środkowa droga jest pomarańczowa

Jaka wersja PHP działa u Państwa?

Dla wersji PHP od 8.1 do 8.5 obowiązuje ta sama zasada: dwa lata aktywnego wsparcia, a potem dwa lata wyłącznie poprawek bezpieczeństwa (stan: 2026-10). Po tym czasie aktualizacji już nie ma. Kto zaczyna dziś, powinien celować w PHP 8.4 (aktualizacje do 31.12.2028) lub PHP 8.5 (do 31.12.2029).

Serwer z czterema slotami podpisanymi 8.2, 8.3, 8.4 i 8.5, najnowsza wersja PHP na pomarańczowo; linia prowadzi do kalendarza ściennego z jednym dniem zaznaczonym na pomarańczowo

Terminy wsparcia wersji PHP

Stan na dzień: 2026-10
Data Zdarzenie Źródło
2018-12-31 PHP 5.6: koniec aktualizacji bezpieczeństwa. php.net (otwiera się w nowym oknie)
2019-01-10 PHP 7.0: koniec aktualizacji bezpieczeństwa. php.net (otwiera się w nowym oknie)
2019-12-01 PHP 7.1: koniec aktualizacji bezpieczeństwa. php.net (otwiera się w nowym oknie)
2020-11-30 PHP 7.2: koniec aktualizacji bezpieczeństwa. php.net (otwiera się w nowym oknie)
2021-12-06 PHP 7.3: koniec aktualizacji bezpieczeństwa. php.net (otwiera się w nowym oknie)
2022-11-28 PHP 7.4: koniec aktualizacji bezpieczeństwa. php.net (otwiera się w nowym oknie)
2023-11-26 PHP 8.0: koniec aktualizacji bezpieczeństwa. php.net (otwiera się w nowym oknie)
2025-12-31 PHP 8.1: koniec aktualizacji bezpieczeństwa. php.net (otwiera się w nowym oknie)
2026-11-19 PHP 8.6: planowane wydanie wersji stabilnej (General Availability). wiki.php.net (otwiera się w nowym oknie)
2026-12-31 PHP 8.2: koniec aktualizacji bezpieczeństwa. php.net (otwiera się w nowym oknie)
2027-12-31 PHP 8.3: koniec aktualizacji bezpieczeństwa. php.net (otwiera się w nowym oknie)
2028-12-31 PHP 8.4: koniec aktualizacji bezpieczeństwa. php.net (otwiera się w nowym oknie)
2029-12-31 PHP 8.5: koniec aktualizacji bezpieczeństwa. php.net (otwiera się w nowym oknie)

Dopłaty dostawców hostingu, Smarty i jQuery

Hosting. Część dostawców hostingu współdzielonego dolicza opłaty za stare wersje PHP. Na własnym lub dedykowanym serwerze takiej dopłaty nie ma, ale wersja bez poprawek bezpieczeństwa pozostaje ryzykiem. Dopłata jest sygnałem ostrzegawczym: wydłuża termin, ale nie zastępuje aktualizacji.

Smarty. Smarty 4 i 5 są nadal rozwijane, Smarty 2 i 3 już nie (stan: 2026-10). Droga od wersji 3 przez 4 do 5 dotyczy głównie własnych wtyczek, bloków {php} i funkcji PHP w szablonach.

jQuery. Aktualna jest wersja jQuery 4. Wersja 3 dostaje już tylko krytyczne poprawki bezpieczeństwa i poprawki błędów, a gałęzie 1.x i 2.x nie są już wspierane (stan: 2026-10). Wyjście ze starych wersji zwykle udaje się dzięki jQuery Migrate i wymianie pojedynczych wtyczek.

Okno aplikacji z pomarańczową ramką, złożone z trzech warstw: u góry jQuery z polem formularza i przyciskiem, pośrodku Smarty z nawiasami szablonu, na dole PHP z małym serwerem

Technologie i zakres

Obszar Zakres
Język i frameworki PHP, Smarty, Slim i WordPress od 2012 r.
CMS Craft CMS: przejęcie, aktualizacje, wtyczki i nowe projekty
Interfejs użytkownika jQuery i jQuery UI w wieloletnich aplikacjach
Bazy danych MySQL i MariaDB, także z Galera, migracje, na przykład z Firebird na MariaDB
Utrzymanie środowiska Linux i Docker
Serwery WWW Nginx i Apache

Typowe sytuacje wyjściowe przy PHP

  • Dla PHP 8.2 poprawki bezpieczeństwa kończą się 31.12.2026, dla PHP 8.1 i starszych już się skończyły (stan: 2026-10). Przenosimy rozbudowywane od lat aplikacje PHP, także z szablonami Smarty i frontendem w jQuery, na PHP 8.4 lub 8.5. Testujemy każdy etap.

  • Państwa system działa, ale nikt nie zna go dokładnie. Spisujemy aplikację, bazę danych, serwer i pocztę, oceniamy ryzyka, na piśmie rekomendujemy dalszą drogę, a na życzenie przejmujemy utrzymanie systemu.

  • Przenosimy Państwa aplikację w Lucee, ColdFusion lub PHP z klasycznego hostingu do kontenerów. Środowisko można wtedy odtworzyć, zaktualizować i przenieść na inny serwer. Część dostawców hostingu pobiera dopłaty za stare wersje PHP, a dla PHP 8.2 poprawki bezpieczeństwa kończą się 31.12.2026 (stan: 2026-10).

  • Zespół nie nadąża, brakuje konkretnej wiedzy albo przed ważną decyzją potrzebna jest druga opinia? Przejmujemy wydzieloną część: moduł, backend do Państwa frontendu, interfejs, migrację albo przegląd kodu. Pracujemy w Państwa repozytorium i systemie zgłoszeń, a kod i wiedza zostają u Państwa.

Pierwszy krok o stałym zakresie i stałej cenie

Przegląd systemu legacy

Dla firm z systemem, którego nikt już dokładnie nie zna: przed aktualizacją, przed migracją lub przy zmianie dostawcy.

  • Inwentarz wersji i zależności
  • Mapa aplikacji, bazy danych, serwera i poczty e-mail
  • Rejestr ryzyk dotyczących bezpieczeństwa, wsparcia i wiedzy
  • Ocena kopii zapasowych i odtwarzania danych
  • Rekomendacja „zostać przy obecnej wersji, podnieść wersję lub migrować” z macierzą opcji, która obejmuje także „przeniesienie do kontenera” i „udostępnienie jako API”
  • Oszacowanie nakładu pracy w dniach

Cena obejmuje jeden system, czyli jedną aplikację wraz z jej bazą danych i serwerem. Kolejne systemy wyceniamy osobno.

Co zawiera wynik

Pisemny raport z inwentaryzacją, rejestrem ryzyk, rekomendacją i oszacowaniem nakładu pracy. Raport należy do Państwa.

od 3 800 € netto

Zwykle 5 dni roboczych

Zamów przegląd systemu legacy

Skan zgodności z PHP 8

Dla firm z rozbudowywaną latami aplikacją PHP, które przed aktualizacją do PHP 8 chcą wiedzieć, co przestanie działać i ile pracy to wymaga.

  • Inwentarz wersji PHP, rozszerzeń, bibliotek i bazy danych
  • Sprawdzenie kodu pod kątem miejsc, które w PHP 8 przestają działać
  • Szablony Smarty i frontend w jQuery w tym samym przebiegu
  • Lista niezgodności według ryzyka i nakładu pracy
  • Plan etapów do wersji docelowej z oszacowaniem nakładu pracy w dniach roboczych

Zakres i cenę ustalamy w rozmowie wstępnej i potwierdzamy na piśmie przed rozpoczęciem pracy. Samą aktualizację wykonujemy na życzenie jako osobne zlecenie.

Co zawiera wynik

Pisemna lista niezgodności z planem etapów i oszacowaniem nakładu pracy. Lista należy do Państwa.

Ocena awaryjna w 48 godzin

Dla firm, których programista lub dostawca nagle odszedł, a system musi mimo to działać dalej.

  • Inwentaryzacja: wersje, zależności, dostępy, kopie zapasowe, zaplanowane zadania, źródła danych i wysyłka poczty
  • Lista ryzyk, które wymagają natychmiastowej uwagi
  • Plan stabilizacji na pierwsze 5 dni i na pierwsze 30 dni
  • Krótkie omówienie wyników

Wynik otrzymują Państwo 48 godzin po uzyskaniu dostępu do systemu. Zmiany w systemie produkcyjnym i dalsze prace wykonujemy wyłącznie po Państwa zgodzie.

Co zawiera wynik

Pisemny raport ze stanem systemu, ryzykami wymagającymi natychmiastowej reakcji i planem stabilizacji. Raport należy do Państwa.

od 1 900 € netto

Zwykle 2 dni robocze

Zamów ocenę awaryjną w 48 godzin

Projekt z PHP 8

  • Dwadzieścia czarnych pasków w schodach do 30 s pod session_start() i te same dwadzieścia pasków na pomarańczowo obok siebie do 1,5 s pod + session_write_close()

    PHP 8.2 i limit 30 sekund: strony czekały na blokadę sesji

    Portale internetowe · 4 godziny

    Po migracji z PHP 7.4 na PHP 8.2 ta sama strona raz ładowała się normalnie, a raz kończyła się błędem po 30 sekundach. Odtworzyliśmy obie wersje obok siebie i znaleźliśmy przyczynę: około 20 równoległych wywołań AJAX jednego użytkownika czekało po kolei na blokadę pliku sesji. Naprawione jedną linią na skrypt, bez przepisywania aplikacji.

Pytania o aplikacje PHP

Czy musimy przepisać system, żeby korzystać z nowego stosu technologicznego?

Nie. Jeśli stary system działa, udostępniamy jego logikę jako API i jednorazowo zamykamy znane luki. Funkcje mają przy tym pozostać bez zmian, co sprawdzają testy porównawcze. Nowe elementy budujemy obok, w nowym stosie, który korzysta z tego API.

Przepisanie od nowa rzadko się opłaca. Wchodzi w grę, gdy framework nie jest już rozwijany, brakuje testów, a reguły biznesowe da się spisać. Czy dotyczy to Państwa systemu, wyjaśnia Przegląd systemu legacy.

Co daje przeniesienie aplikacji do kontenera?

Środowisko, które da się odtworzyć. Ta sama wersja i konfiguracja obowiązują u programisty, w środowisku testowym i na produkcji. Zapisane są w repozytorium, a nie w głowie jednej osoby. Nowe wersje PHP, Lucee lub ColdFusion testujemy obok produkcji i możemy je wycofać. Przeniesienie na inny serwer lub do innego dostawcy również staje się prostsze.

Kontener nie naprawia błędu w kodzie i nie podnosi wersji, która nie jest już wspierana. Ułatwia jedynie takie zmiany.

Czy zajmują się Państwo frontendem i backendem, czy tylko backendem?

Jednym i drugim. Nasi inżynierowie od 2012 r. pracują jako programiści full stack. Typowe zadania to nowy frontend do istniejącego backendu oraz utrzymanie rozbudowywanych latami frontendów opartych na jQuery. Przy nowych projektach zalecamy frontend na Node.js, na przykład w Next.js z Reactem. Czy to pasuje do Państwa systemu, omówimy podczas rozmowy wstępnej.

Czy tworzą i integrują Państwo interfejsy API (REST, SOAP)?

Tak. Tworzymy interfejsy i podłączamy systemy, zarówno przez REST i JSON, jak i przez SOAP i XML, łącznie z synchronizacją danych między aplikacjami. Typowe zastosowania opisujemy na stronie Rozwój i integracje.

Przy jakich projektach pracowali Państwo dotąd?

Nasi inżynierowie pracowali przy takich typach systemów:

  • platformy do obsługi kredytów, z wieloma procesami i kanałami sprzedaży, także bezpośrednio dla banków
  • platformy finansowania hipotecznego
  • platformy leasingowe
  • systemy do generowania dokumentów i umów
  • portale wideo ze streamingiem i automatyczną konwersją materiałów
  • serwisy informacyjne i ogłoszeniowe o dużym ruchu
  • serwisy internetowe firm pracujących na zlecenie sektora publicznego, także instytucji kultury

Wybrane projekty opisujemy szczegółowo na stronie projektów, m.in. ColdFusion produkcyjnie i pod obciążeniem, dostarczalność poczty, sklep zalewany przez boty i indeksy SQL w bazie sklepu.

Nie są Państwo pewni, jaka usługa pasuje do systemu?

Prosimy opisać system w dwóch zdaniach. Odpowiemy, jaka usługa pasuje i czy produkt wejściowy ze stałą ceną będzie właściwym pierwszym krokiem.