Krótko: Wersja PHP w Shopware 5 to po PHP2Shell najważniejsze pytanie. Wiele z tych sklepów działa na PHP 8.1 lub starszym, a dla tych wersji projekt PHP nie wydaje już oficjalnych aktualizacji. Potrzebny jest więc potwierdzony backport lub ochrona przejściowa oraz stały plan migracji.
Dlaczego sklepy Shopware 5 wymagają szczególnej uwagi
PHP2Shell obejmuje dwie krytyczne luki w PHP, CVE-2026-109618 i CVE-2026-109619. Według prasy branżowej dotknięte są niemal wszystkie wersje aż do PHP 5.4. Oficjalne poprawki istnieją tylko dla PHP od 8.2 do 8.5, a dla 7.4, 8.0 i 8.1 jedynie minimalne backporty kodu źródłowego.
Shopware 5 to poprzednia generacja Shopware 6. Zostały przy niej zwłaszcza rozbudowane sklepy z wieloma indywidualnymi wtyczkami, często na wersji PHP, która była aktualna podczas ostatniej dużej przebudowy. To, czy Państwa konkretna wersja Shopware 5 nadal otrzymuje od producenta aktualizacje bezpieczeństwa, można sprawdzić na shopware.com. Co dotyczy starych wersji PHP, podsumowuje artykuł PHP 8.1 i starsze.
Sprawdzanie wersji PHP w Shopware 5 w panelu i na serwerze
W panelu administracyjnym Shopware 5 pozycja Ustawienia > Informacje o systemie pokazuje środowisko serwera, w tym wersję PHP, i sprawdza wymagania. Jest to wersja, na której działa panel. Tego, czy Państwa firma hostingowa wprowadziła backport, tam Państwo nie zobaczą; numer może pozostać taki sam, mimo że system jest załatany.
| Stan PHP | Sytuacja przy PHP2Shell | Następny krok |
|---|---|---|
| 8.2 do 8.5 | Oficjalna poprawka dostępna | Aktualizacja, restart, dowód |
| 7.4, 8.0, 8.1 | Tylko minimalne backporty kodu źródłowego | Uzyskać potwierdzenie backportu, zaplanować migrację |
| 7.3 i starsze | Brak poprawki od projektu PHP | Natychmiast ochrona przejściowa, przyspieszyć migrację |
To, jakie wersje PHP znoszą Państwa wersja Shopware 5 i wtyczki, ustala się na podstawie wymagań systemowych producenta oraz testu na kopii sklepu.
Gdzie w Shopware 5 chętnie leży złośliwy kod
- config.php w katalogu głównym: dane dostępowe do bazy danych otwartym tekstem.
- custom/plugins/ oraz engine/Shopware/Plugins/Community/ i Local/: nowsze i starsze miejsca na wtyczki, często z własnymi rozwiązaniami bez opieki.
- themes/Frontend/: szablony i JavaScript własnego motywu, popularne miejsce dla skimmerów w kasie.
- web/cache/: skompilowane pliki motywu, które po manipulacji są dostarczane każdemu odwiedzającemu.
- media/ i files/: obrazy, pliki do pobrania i dokumenty, bez plików PHP.
- var/log/: logi, które należy zabezpieczyć przed każdą zmianą.
Bezpieczna kontrola plików PHP w miejscach, w których ich być nie powinno:
find media files web/cache -type f -name "*.php"
find themes custom -name "*.php" -newermt "2026-10-17"
Panel administracyjny znajduje się pod /backend. Proszę sprawdzić tam zarządzanie użytkownikami pod kątem nieznanych kont i, jeśli to możliwe, ograniczyć dostęp do znanych sieci. Uwagi wymaga także menedżer wtyczek: nieznane lub niedawno zainstalowane wtyczki, których nikt nie zamawiał, to wyraźny sygnał ostrzegawczy.
W przypadku starych sklepów dochodzi problem praktyczny. Często nikt już dokładnie nie wie, które wtyczki zostały indywidualnie zmodyfikowane, a pierwotna agencja jest nieosiągalna. Porównanie z oryginalnymi pakietami producentów wtyczek jest wtedy jedynym wiarygodnym sposobem na wykrycie zmian. Przy okazji proszę od razu udokumentować, jakich wtyczek sklep naprawdę potrzebuje; pomoże to później przy migracji.
Jeśli Państwa sklep Shopware 5 działa na PHP 8.1 lub starszym, a firma hostingowa nie może potwierdzić backportu, należy natychmiast wdrożyć środki przejściowe z php.net. BSI (niemiecki Federalny Urząd ds. Bezpieczeństwa w Technice Informatycznej) zaleca czasowe odłączenie serwerów WWW od sieci, jeśli aktualizacja nie jest możliwa od razu.
Ochrona przejściowa do czasu migracji
Do czasu aktualizacji PHP lub przeniesienia sklepu środki z php.net zmniejszają ryzyko, nie zapewniając pełnej ochrony. Należą one do konfiguracji serwera, a nie do .user.ini:
; ustawić w puli FPM jako php_admin_value lub php_admin_flag
memory_limit = -1
post_max_size = 32M
upload_max_filesize = 16M
session.upload_progress.enabled = 0
Następnie należy zrestartować wszystkie procesy PHP. Dodatkowo może pomóc filtr umieszczony przed serwerem; szczegóły w artykule Środki doraźne bez poprawki.
Co daje aktualizacja Shopware 5, a czego nie
Aktualizacja w ramach Shopware 5 może zamknąć znane błędy w sklepie i czasem umożliwia nowsze wersje PHP. Nie łata PHP, nie usuwa obcych plików i nie dowodzi, że sklep jest czysty. Przejście na Shopware 6 to projekt z przeniesieniem danych, nowym motywem i nowymi wtyczkami. Jak strukturyzujemy takie zmiany, opisuje artykuł PHP 8.1 i starsze: migracja.
Wynik proszę zapisać na piśmie: stan PHP, potwierdzenie backportu i datę restartu. Ta dokumentacja będzie potrzebna przy pytaniach ubezpieczyciela, dostawcy płatności lub inspektora ochrony danych.
Jak konkretnie pomaga PHP SOS?
- Ustalamy wersję PHP, stan pakietów i sytuację z backportami na Państwa serwerze Shopware 5.
- Wdrażamy ochronę przejściową w konfiguracji serwera i restartujemy wszystkie procesy.
- Sprawdzamy wtyczki, motyw, pamięć podręczną i użytkowników pod kątem śladów ataku.
- Opracowujemy z Państwem harmonogram: aktualizacja PHP w Shopware 5 jako krok pośredni albo bezpośrednia migracja.
Częste pytania
Jakiej wersji PHP potrzebuje Shopware 5?
To zależy od dokładnej wersji Shopware 5. Proszę sprawdzić wymagania systemowe w dokumentacji na shopware.com dla zainstalowanej wersji. Dla PHP2Shell rozstrzygające jest to, czy Państwa wersja PHP nadal otrzymuje aktualizacje bezpieczeństwa.
Czy mogę po prostu przełączyć Shopware 5 na PHP 8.3?
Tylko wtedy, gdy Państwa wersja Shopware i wszystkie wtyczki obsługują tę wersję PHP. W przeciwnym razie grożą błędy w kasie lub w panelu administracyjnym. Zmianę należy przetestować na kopii sklepu, zanim zostanie uruchomiona produkcyjnie.
Czy przejście na Shopware 6 to tylko aktualizacja?
Nie. Shopware 6 to nowa platforma z inną technologią, innymi wtyczkami i innym systemem motywów. Dane można przenieść, ale wtyczki i projekt graficzny trzeba wykonać od nowa.
Co robić, jeśli migracja potrwa miesiące?
Wtedy do tego czasu sklep potrzebuje załatanego PHP z dystrybucji lub od firmy hostingowej, środków przejściowych z php.net i ewentualnie filtra umieszczonego przed serwerem. Zmniejsza to ryzyko, ale nie zastępuje migracji.