Sklep B2B naliczał VAT 23% klientom z Niemiec i Francji którzy podawali numer VAT UE. Zgodnie z zasadą reverse charge VAT powinien być 0% dla firm z UE posiadających numer VAT. Problem generował skargi klientów i ryzyko podatkowe. Czas naprawy: 8 godzin.
Po przejściu sklepu na HTTPS przestały ładować się obrazy produktów i arkusze CSS w przeglądarce Chrome. Konsola pokazywała setki błędów Mixed Content. Sklep wyglądał na zepsuty. Czas naprawy: 1 godzina.
Algorytm Dijkstry to klasyczny algorytm wyszukiwania najkrótszej ścieżki w grafie ważonym z nieujemnymi wagami. Działa w O((V + E) log V) z kolejką priorytetową, gdzie V to liczba wierzchołków a E krawędzi. Praktyczne zastosowania to routing, nawigacja GPS, systemy rekomendacji i optymalizacja sieci. Pokażę implementację w PHP z kolejką priorytetową i dwa realne przykłady użycia.
Sklep generował zduplikowane zamówienia – klient kliknął „Zamów” raz, ale powstawały dwa identyczne zamówienia z podwójną płatnością. Problem dotyczył ~2% zamówień głównie przy wolnym połączeniu internetowym. Czas naprawy: 6 godzin.
Klienci nie mogli znaleźć produktów przez wyszukiwarkę mimo że produkty były widoczne w kategoriach. Wyszukiwanie po SKU, nazwie i opisie nie dawało wyników. Problem narastał przez 2 tygodnie po migracji na nowy serwer. Czas naprawy: 2 godziny.
Varnish był zainstalowany i skonfigurowany, ale każde żądanie trafiało do PHP – hit rate wynosił 0%. Serwer był przeciążony mimo Varnisha. Problem w błędnej konfiguracji VCL i cookiach sesji. Czas naprawy: 4 godziny.
Fibers weszły do PHP w wersji 8.1 jako mechanizm cooperative multitasking – możliwość zawieszenia i wznowienia wykonania funkcji w dowolnym miejscu. To nie są wątki ani procesy – Fiber działa w tym samym wątku PHP, ale pozwala przełączać się między zadaniami bez blokowania. Pokażę jak działają Fibers, gdzie mają sens i jak biblioteki async (ReactPHP, Amp) używają ich pod spodem.
Import 10 000 produktów przez panel admina kończył się błędem Allowed memory size exhausted po około 3000 produktach. Import trwał 40 minut i nie kończył się sukcesem. Czas naprawy: 3 godziny.
Klienci nie dostawali potwierdzeń zamówień. Sklep wysyłał emaile z lokalnego sendmail który był blokowany przez serwery pocztowe jako spam. 95% emaili trafiało do folderu Spam lub było odrzucanych. Czas naprawy: 2 godziny.
Własna metoda płatności w Magento 2 to jeden z bardziej złożonych modułów do napisania od zera. Wymaga implementacji interfejsu MethodInterface, konfiguracji w system.xml, szablonów JS dla checkout i obsługi webhooków zwrotnych od bramki. Pokażę kompletną strukturę modułu integrującego fikcyjną bramkę płatności – od autoryzacji przez capture po obsługę refundacji.
