PHP / Magento Dev Blog

  • Home

Magento 2 B2B: wholesale features that cheaper platforms do not offer

  • 0
Henryk Tews
Monday, 06 July 2026 / Published in E-commerce

Online B2B sales has different requirements than B2C. The buyer knows product SKUs, has negotiated prices, buys wholesale, needs invoices with deferred payment terms and wants to place orders quickly – without going through the entire purchase flow every time. Magento 2 Commerce has dedicated B2B features that cheaper platforms simply do not have.

(more…)

Magento 2 duplicate orders – lack of idempotency in checkout

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

The shop was generating duplicate orders – a customer clicked “Order” once but two identical orders were created with double payment. The problem affected ~2% of orders, mainly on slow internet connections. Fix time: 6 hours.

(more…)

Magento 2 products not appearing in search – OpenSearch problem

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

Customers could not find products through the search engine even though products were visible in categories. Searching by SKU, name and description returned no results. The problem grew over 2 weeks after migrating to a new server. Fix time: 2 hours.

(more…)

Conversion dropping in your Magento store: what could cause it and how to investigate

  • 0
Henryk Tews
Thursday, 02 July 2026 / Published in E-commerce

Store conversion is dropping – this is one of the most common alarm signals that store owners bring to specialists. The problem is heterogeneous: the same phenomenon can have a dozen different causes, and diagnosis without access to data is impossible. Below I describe the most common causes and how to tell them apart.

(more…)

Magento 2 Varnish cache not working – 0% hit rate and wrong VCL config

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

Varnish was installed and configured, but every request was hitting PHP – hit rate was 0%. The server was overloaded despite Varnish. The problem was in wrong VCL configuration and session cookies. Fix time: 4 hours.

(more…)

PHP Fibers – cooperative multitasking, async without extensions, ReactPHP

  • 0
Henryk Tews
Tuesday, 30 June 2026 / Published in PHP

Fibers arrived in PHP 8.1 as a cooperative multitasking mechanism – the ability to suspend and resume a function at any point. These are not threads or processes – a Fiber runs in the same PHP thread but allows switching between tasks without blocking. I show how Fibers work, where they make sense, and how async libraries (ReactPHP, Amp) use them under the hood.

(more…)

Magento 2 – memory exhausted during product import (memory limit)

  • 0
Henryk Tews
Sunday, 28 June 2026 / Published in Magento / Adobe Commerce

Importing 10,000 products through the admin panel ended with Allowed memory size exhausted after about 3,000 products. The import ran for 40 minutes without completing. Fix time: 3 hours.

(more…)

Magento 2 transactional emails not being sent – SMTP configuration

  • 0
Henryk Tews
Friday, 26 June 2026 / Published in Magento / Adobe Commerce

Customers were not receiving order confirmations. The shop was sending emails from local sendmail which was being blocked by mail servers as spam. 95% of emails ended up in the Spam folder or were rejected. Fix time: 2 hours.

(more…)

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

  • 0
Henryk Tews
Wednesday, 24 June 2026 / Published in Magento / Adobe Commerce

A custom payment method in Magento 2 is one of the more complex modules to write from scratch. It requires implementing the MethodInterface, configuration in system.xml, JS templates for checkout, and handling return webhooks from the gateway. I show the complete module structure integrating a fictional payment gateway – from authorisation through capture to refund handling.

(more…)

Magento 2 bot attack on admin panel – brute force and protection

  • 0
Henryk Tews
Wednesday, 24 June 2026 / Published in Magento / Adobe Commerce

Server overloaded, nginx logs full of requests to /admin. Bots tried to log into the admin panel for 72 hours – 50,000 attempts. One admin account had a weak password. Response time: 30 minutes, hardening: 2 hours.

(more…)

  • 3
  • 4
  • 5
  • 6
  • 7

© 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}