PHP / Magento Dev Blog

  • Home

Magento 2 custom module not loading after deployment – DI compilation error

  • 0
Henryk Tews
Sunday, 19 July 2026 / Published in Magento / Adobe Commerce

A new module version deployed to production caused a 500 error across the whole shop. DI compilation ended with an error about a missing interface. The problem was a constructor signature change without updating di.xml. Fix time: 1 hour.

(more…)

Magento 2 cart loss – Redis session and eviction policy

  • 0
Henryk Tews
Friday, 17 July 2026 / Published in Magento / Adobe Commerce

Customers were losing their cart contents and getting logged out randomly during shopping. The problem intensified on weekends with high traffic. Fix time: 2 hours.

(more…)

Xdebug 3 + DDEV + PHPStorm – debugging, profiling, flamegraph

  • 0
Henryk Tews
Thursday, 16 July 2026 / Published in Środowiska

Xdebug 3 changed the configuration approach – instead of many directives, one option xdebug.mode controls all behaviour. Combining Xdebug 3, DDEV and PHPStorm gives a complete environment: step debugger with breakpoints, a profiler generating cachegrind files, and coverage reports for PHPUnit. I show the configuration from scratch and how to analyse profiler results in PHPStorm and QCacheGrind.

(more…)

Magento 2 CSRF token error in AJAX and REST API – sessions and headers

  • 0
Henryk Tews
Wednesday, 15 July 2026 / Published in Magento / Adobe Commerce

Custom forms in the shop stopped working after a Magento update. “Invalid Form Key” error in logs. Custom AJAX endpoints threw CSRF exceptions on every request. Fix time: 2 hours.

(more…)

Magento 2 store maintenance costs: what makes up the annual budget

  • 0
Henryk Tews
Tuesday, 14 July 2026 / Published in E-commerce

Store implementation is a one-time cost. Maintenance is an ongoing cost – and one of the most frequently overlooked in e-commerce budget planning. Business owners who focus exclusively on implementation cost are often surprised by what appears on invoices in subsequent years.

(more…)

Magento 2 admin grid timeout – orders grid with 500k records

  • 0
Henryk Tews
Sunday, 12 July 2026 / Published in Magento / Adobe Commerce

The admin panel timed out when trying to open the orders list. 30-second timeout. The database contained 500,000 orders accumulated over 5 years. Fix time: 3 hours.

(more…)

When to rebuild a store from scratch versus when a refactor is enough

  • 0
Henryk Tews
Saturday, 11 July 2026 / Published in E-commerce

This is one of the harder questions in e-commerce: an existing store is not working as it should. It is slow, hard to manage, does not integrate well with systems. Is it better to rewrite from scratch or refactor? Both options have their advocates and both can be the right answer – depending on context.

(more…)

Magento 2 wrong VAT for EU B2B customers – tax configuration

  • 0
Henryk Tews
Friday, 10 July 2026 / Published in Magento / Adobe Commerce

A B2B shop was charging 23% VAT to customers from Germany and France who provided EU VAT numbers. Under the reverse charge principle, VAT should be 0% for EU businesses with a VAT number. The problem generated customer complaints and tax risk. Fix time: 8 hours.

(more…)

Magento 2 mixed content – HTTP resources blocked on HTTPS page

  • 0
Henryk Tews
Wednesday, 08 July 2026 / Published in Magento / Adobe Commerce

After moving the shop to HTTPS, product images and CSS stylesheets stopped loading in Chrome. The console showed hundreds of Mixed Content errors. The shop looked broken. Fix time: 1 hour.

(more…)

Dijkstra’s algorithm – shortest path in a graph, PHP implementation

  • 0
Henryk Tews
Wednesday, 08 July 2026 / Published in Algorytmy

Dijkstra’s algorithm is a classic shortest path algorithm for weighted graphs with non-negative weights. It runs in O((V + E) log V) with a priority queue, where V is the number of vertices and E the number of edges. Practical applications include routing, GPS navigation, recommendation systems and network optimisation. I show a PHP implementation with a priority queue and two real usage examples.

(more…)

  • 2
  • 3
  • 4
  • 5
  • 6

© 2026 Created by

TOP
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 Always active
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.
  • Manage options
  • Manage services
  • Manage {vendor_count} vendors
  • Read more about these purposes
Zobacz preferencje
  • {title}
  • {title}
  • {title}