PHP / Magento Dev Blog

  • Publikacje
  • O autorze
  • Kontakt

Magento 2 zduplikowane zamówienia – brak idempotentności w checkout

  • 0
Henryk Tews
niedziela, 05 lipca 2026 / Opublikowano w Magento / Adobe Commerce

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.

(więcej…)

Magento 2 produkty nie pojawiają się w wyszukiwarce – problem z OpenSearch

  • 0
Henryk Tews
piątek, 03 lipca 2026 / Opublikowano w Magento / Adobe Commerce

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.

(więcej…)

Spada konwersja w sklepie Magento: co może być przyczyną i jak to zbadać

  • 0
Henryk Tews
czwartek, 02 lipca 2026 / Opublikowano w E-commerce

Konwersja sklepu spada – to jeden z najczęstszych sygnałów alarmowych z jakimi właściciele sklepów trafiają do specjalistów. Problem jest niejednorodny: to samo zjawisko może mieć kilkanaście różnych przyczyn, a diagnoza bez dostępu do danych jest niemożliwa. Poniżej opisuję najczęstsze przyczyny i jak je odróżnić.

(więcej…)

Magento 2 Varnish cache nie działa – hit rate 0% i błędna konfiguracja VCL

  • 0
Henryk Tews
środa, 01 lipca 2026 / Opublikowano w Magento / Adobe Commerce

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.

(więcej…)

PHP Fibers – cooperative multitasking, async bez rozszerzeń, ReactPHP

  • 0
Henryk Tews
wtorek, 30 czerwca 2026 / Opublikowano w PHP

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.

(więcej…)

Magento 2 – wyczerpanie pamięci przy imporcie produktów (memory limit)

  • 0
Henryk Tews
niedziela, 28 czerwca 2026 / Opublikowano w Magento / Adobe Commerce

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.

(więcej…)

Magento 2 emaile transakcyjne nie są wysyłane – konfiguracja SMTP

  • 0
Henryk Tews
piątek, 26 czerwca 2026 / Opublikowano w Magento / Adobe Commerce

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.

(więcej…)

Magento 2 atak botów na panel admin – brute force i ochrona

  • 0
Henryk Tews
środa, 24 czerwca 2026 / Opublikowano w Magento / Adobe Commerce

Serwer przeciążony, logi nginx pełne requestów do /admin. Boty próbowały się zalogować do panelu admina przez 72 godziny – 50 000 prób. Jeden z kont admin miał słabe hasło. Czas reakcji: 30 minut, wzmocnienie: 2 godziny.

(więcej…)

Custom Payment Method w Magento 2 – authorize, capture, refund, webhook

  • 0
Henryk Tews
środa, 24 czerwca 2026 / Opublikowano w Magento / Adobe Commerce

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.

(więcej…)

Jak wygląda wdrożenie Magento 2: od pierwszego kontaktu do uruchomienia

  • 0
Henryk Tews
wtorek, 23 czerwca 2026 / Opublikowano w E-commerce

Właściciele firm którzy po raz pierwszy wdrażają sklep na Magento 2 często nie wiedzą czego się spodziewać i na co się przygotować. Poniżej opisuję typowy przebieg projektu od pierwszej rozmowy do uruchomienia – bez upiększeń.

(więcej…)

  • 3
  • 4
  • 5
  • 6
  • 7
  • Publikacje
  • O autorze
  • Kontakt

© 2026 Created by

GÓRA
Zarządzaj zgodą
Aby zapewnić jak najlepsze wrażenia, korzystamy z technologii, takich jak pliki cookie, do przechowywania i/lub uzyskiwania dostępu do informacji o urządzeniu. Zgoda na te technologie pozwoli nam przetwarzać dane, takie jak zachowanie podczas przeglądania lub unikalne identyfikatory na tej stronie. Brak wyrażenia zgody lub wycofanie zgody może niekorzystnie wpłynąć na niektóre cechy i funkcje.
Funkcjonalne Zawsze aktywne
Przechowywanie lub dostęp do danych technicznych jest ściśle konieczny do uzasadnionego celu umożliwienia korzystania z konkretnej usługi wyraźnie żądanej przez subskrybenta lub użytkownika, lub wyłącznie w celu przeprowadzenia transmisji komunikatu przez sieć łączności elektronicznej.
Preferencje
Przechowywanie lub dostęp techniczny jest niezbędny do uzasadnionego celu przechowywania preferencji, o które nie prosi subskrybent lub użytkownik.
Statystyka
Przechowywanie techniczne lub dostęp, który jest używany wyłącznie do celów statystycznych. Przechowywanie techniczne lub dostęp, który jest używany wyłącznie do anonimowych celów statystycznych. Bez wezwania do sądu, dobrowolnego podporządkowania się dostawcy usług internetowych lub dodatkowych zapisów od strony trzeciej, informacje przechowywane lub pobierane wyłącznie w tym celu zwykle nie mogą być wykorzystywane do identyfikacji użytkownika.
Marketing
Przechowywanie lub dostęp techniczny jest wymagany do tworzenia profili użytkowników w celu wysyłania reklam lub śledzenia użytkownika na stronie internetowej lub na kilku stronach internetowych w podobnych celach marketingowych.
  • Zarządzaj opcjami
  • Zarządzaj serwisami
  • Zarządzaj {vendor_count} dostawcami
  • Przeczytaj więcej o tych celach
Zobacz preferencje
  • {title}
  • {title}
  • {title}