<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Der Magento Experte</title>
	<atom:link href="https://www.der-mage-experte.de/tag/magento-2/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.der-mage-experte.de</link>
	<description>Ihr Magento Experte &#38; Entwickler</description>
	<lastBuildDate>Wed, 21 Oct 2026 19:43:11 +0000</lastBuildDate>
	<language>de-DE</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.8.6</generator>
	<item>
		<title>Kritische PHP Sicherheitslücken CVE-2026-109618 und CVE-2026-109619: Magento Shops mit PHP unter 8 absichern</title>
		<link>https://www.der-mage-experte.de/3250/kritische-php-sicherheitsluecken-cve-2026-109618-cve-2026-109619-magento-shops-mit-php-unter-8-absichern/</link>
		<comments>https://www.der-mage-experte.de/3250/kritische-php-sicherheitsluecken-cve-2026-109618-cve-2026-109619-magento-shops-mit-php-unter-8-absichern/#comments</comments>
		<pubDate>Wed, 21 Oct 2026 19:35:14 +0000</pubDate>
		<dc:creator><![CDATA[Mex]]></dc:creator>
				<category><![CDATA[Magento Lösungen]]></category>
		<category><![CDATA[magent]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[Magento 2]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">https://www.der-mage-experte.de/?p=3250</guid>
		<description><![CDATA[Am 21. Oktober 2026 wurden zwei kritische Sicherheitslücken in PHP veröffentlicht. Besonders unangenehm ist die Situation für Betreiber älterer Magento Shops, die noch PHP 5.6, PHP 7.4 oder eine andere inzwischen nicht mehr unterstützte PHP Version verwenden. Ein einfaches PHP&#8230;]]></description>
				<content:encoded><![CDATA[<p>Am 21. Oktober 2026 wurden zwei kritische Sicherheitslücken in PHP veröffentlicht. Besonders unangenehm ist die Situation für Betreiber älterer Magento Shops, die noch PHP 5.6, PHP 7.4 oder eine andere inzwischen nicht mehr unterstützte PHP Version verwenden. Ein einfaches PHP Update ist dort häufig nicht möglich, ohne gleichzeitig Magento und zahlreiche Erweiterungen anzupassen.</p>
<p>Die Schwachstellen mit den Kennungen <strong>CVE-2026-109618</strong> und <strong>CVE-2026-109619</strong> ermöglichen unter bestimmten Voraussetzungen die Ausführung fremden Codes auf dem Server, und das unter Umständen ganz ohne vorherige Anmeldung. Beide wurden mit einem Schweregrad von 9,2 bewertet.</p>
<p><strong>Warum ältere Magento Shops besonders betroffen sind</strong></p>
<p>Magento 1 benötigt in vielen Installationen noch PHP 5.x oder PHP 7.x. Auch ältere Magento 2 Installationen sind häufig an bestimmte PHP Versionen gebunden.</p>
<p>Ein Wechsel auf PHP 8.3 oder 8.4 kann deshalb dazu führen, dass der Shop nicht mehr funktioniert. Veraltete Bibliotheken, individuelle Erweiterungen und Anpassungen am Magento Core machen den Wechsel mitunter zu einem größeren Projekt.</p>
<p>Das Problem dabei: <strong>PHP 5.x und PHP 7.x erhalten keine regulären Sicherheitsupdates mehr.</strong> Ein Shop, der gestern noch problemlos funktionierte, kann heute also einer erheblichen zusätzlichen Gefahr ausgesetzt sein.</p>
<p>Übrigens sind auch ältere PHP 8 Versionen betroffen. Allein die Versionsnummer 8 bedeutet noch nicht, dass ein System sicher ist.</p>
<p><strong>Was können Shopbetreiber jetzt tun?</strong></p>
<p>Die gute Nachricht ist, dass nicht zwingend sofort der komplette Magento Shop modernisiert werden muss, um das Risiko zumindest vorübergehend zu reduzieren.</p>
<p>Je nach Serverkonfiguration kommen unter anderem folgende Maßnahmen infrage:</p>
<ul>
<li><strong>Webserver absichern:</strong> Gefährliche Anfragen möglichst bereits durch Apache, nginx oder eine vorgeschaltete Firewall abweisen.</li>
<li><strong>PHP Konfiguration härten:</strong> Bestimmte PHP Funktionen deaktivieren und die Verarbeitung von Anfragen serverseitig begrenzen.</li>
<li><strong>Adminbereich schützen:</strong> Den Magento Administrationsbereich zusätzlich absichern und unnötige öffentliche Zugriffsmöglichkeiten reduzieren.</li>
<li><strong>Hosting prüfen:</strong> Klären, ob der Anbieter Sicherheitskorrekturen für die verwendete alte PHP Version bereitstellt.</li>
<li><strong>Magento Erweiterungen kontrollieren:</strong> Nicht mehr benötigte Funktionen entfernen und gefährdete Schnittstellen möglichst einschränken.</li>
</ul>
<p><strong>Wichtig:</strong> Diese Maßnahmen ersetzen keinen Sicherheitspatch für PHP selbst. Sie können bestimmte Angriffsmöglichkeiten einschränken, bieten aber keinen vollständigen Schutz. Im Zweifelsfall muss ein gefährdetes System vorübergehend vom öffentlichen Zugriff getrennt werden.</p>
<p><strong>Warum nicht einfach PHP aktualisieren?</strong></p>
<p>Wer einen aktuellen Magento 2 Shop betreibt, kann oftmals vergleichsweise unkompliziert auf eine unterstützte PHP Version wechseln, sofern die installierten Erweiterungen mitspielen.</p>
<p>Bei Magento 1 oder älteren Magento 2 Versionen sieht es anders aus. Hier müssen zunächst die technischen Abhängigkeiten untersucht werden. Eventuell lassen sich einzelne Erweiterungen anpassen, an anderer Stelle wird eine umfassendere Aktualisierung notwendig.</p>
<p>Ein pauschaler Wechsel der PHP Version ist deshalb keine gute Idee. Schließlich soll der Shop nach der Sicherheitsmaßnahme auch weiterhin vollständig funktionieren.</p>
<p><strong>Ich unterstütze Sie bei der Absicherung Ihres Magento Shops</strong></p>
<p>Sie betreiben einen Magento 1 oder Magento 2 Shop mit PHP 5.6, 7.4 oder einer anderen veralteten PHP Version und wissen nicht, wie Sie auf die aktuellen Sicherheitslücken reagieren sollen?</p>
<p>Dann <a href="https://www.der-mage-experte.de/kontakt/">kontaktieren Sie mich gerne</a>.</p>
<p>Ich prüfe Ihre bestehende Magento Installation, die PHP Umgebung und die Möglichkeiten zur kurzfristigen Absicherung. Dabei geht es zunächst darum, das tatsächliche Risiko zu bewerten und sinnvolle Maßnahmen umzusetzen, ohne unnötig in einen funktionierenden Shop einzugreifen.</p>
<p>Wenn eine dauerhafte Aktualisierung erforderlich ist, erarbeiten wir anschließend einen passenden Weg. Von der Anpassung einzelner Erweiterungen bis zum vollständigen Magento Update.</p>
<p><strong>Weiterführende Informationen</strong></p>
<p>Die offiziellen Informationen zu den Schwachstellen, betroffenen PHP Versionen und verfügbaren Sicherheitsupdates finden Sie direkt beim <a href="https://www.php.net/archive/2026.php" target="_blank" rel="noopener">PHP Entwicklungsteam</a>.</p>]]></content:encoded>
			<wfw:commentRss>https://www.der-mage-experte.de/3250/kritische-php-sicherheitsluecken-cve-2026-109618-cve-2026-109619-magento-shops-mit-php-unter-8-absichern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Produkt URL Rewrites per SQL finden</title>
		<link>https://www.der-mage-experte.de/3246/magento2-produkt-url-rewrites-per-sql-finden/</link>
		<comments>https://www.der-mage-experte.de/3246/magento2-produkt-url-rewrites-per-sql-finden/#comments</comments>
		<pubDate>Mon, 19 Oct 2026 19:55:22 +0000</pubDate>
		<dc:creator><![CDATA[Mex]]></dc:creator>
				<category><![CDATA[Magento Lösungen]]></category>
		<category><![CDATA[Magento 2]]></category>
		<category><![CDATA[Rewrites]]></category>
		<category><![CDATA[URL]]></category>

		<guid isPermaLink="false">https://www.der-mage-experte.de/?p=3246</guid>
		<description><![CDATA[Bei Problemen mit Produkt URLs lohnt sich oft ein direkter Blick in die Tabelle url_rewrite. Dort speichert Magento unter anderem die sichtbaren Pfade, internen Ziele und Weiterleitungen eines Produktes. Die URL Rewrites einer bestimmten SKU lassen sich mit folgender Abfrage&#8230;]]></description>
				<content:encoded><![CDATA[<p>Bei Problemen mit Produkt URLs lohnt sich oft ein direkter Blick in die Tabelle <strong>url_rewrite</strong>. Dort speichert Magento unter anderem die sichtbaren Pfade, internen Ziele und Weiterleitungen eines Produktes.</p>
<p>Die URL Rewrites einer bestimmten SKU lassen sich mit folgender Abfrage anzeigen:</p><pre class="crayon-plain-tag">SELECT
    p.sku,
    u.store_id,
    s.code AS store_code,
    s.name AS store_name,
    u.request_path,
    u.target_path,
    u.redirect_type
FROM url_rewrite AS u
JOIN catalog_product_entity AS p
    ON u.entity_id = p.entity_id
LEFT JOIN store AS s
    ON s.store_id = u.store_id
WHERE u.entity_type = 'product'
  AND p.sku = 'MEINE-SKU'
ORDER BY u.store_id, u.request_path;</pre><p><strong>request_path</strong> enthält die im Shop sichtbare URL, während <strong>target_path</strong> auf das interne Magento Ziel verweist. Über <strong>store_id</strong> bzw. <strong>store_name</strong> lässt sich erkennen, für welche Store View der jeweilige Rewrite gilt.</p>
<p>Mehrere Treffer für dasselbe Produkt sind deshalb nicht automatisch doppelte oder fehlerhafte Einträge. Unterschiedliche <strong>store_id</strong> Werte bedeuten in der Regel, dass Magento für verschiedene Store Views eigene Rewrites führt.</p>
<p>Interessant ist außerdem <strong>redirect_type</strong>. Der Wert <strong>0</strong> steht für einen normalen Rewrite ohne Weiterleitung, <strong>301</strong> und <strong>302</strong> entsprechend für permanente beziehungsweise temporäre Weiterleitungen.</p>
<p>Gerade nach Änderungen am URL Key, Migrationen oder Importen lässt sich damit schnell erkennen, welche Rewrite Einträge Magento für ein Produkt tatsächlich gespeichert hat.</p>]]></content:encoded>
			<wfw:commentRss>https://www.der-mage-experte.de/3246/magento2-produkt-url-rewrites-per-sql-finden/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Direkte ObjectManager Nutzung im Code finden</title>
		<link>https://www.der-mage-experte.de/3240/magento2-direkte-objectmanager-nutzung-im-code-finden/</link>
		<comments>https://www.der-mage-experte.de/3240/magento2-direkte-objectmanager-nutzung-im-code-finden/#comments</comments>
		<pubDate>Sat, 17 Oct 2026 20:07:01 +0000</pubDate>
		<dc:creator><![CDATA[Mex]]></dc:creator>
				<category><![CDATA[Magento Lösungen]]></category>
		<category><![CDATA[Magento 2]]></category>
		<category><![CDATA[ObjectManager]]></category>

		<guid isPermaLink="false">https://www.der-mage-experte.de/?p=3240</guid>
		<description><![CDATA[In älteren Extensions oder übernommenem Magento Code findet man immer wieder direkte Zugriffe auf den ObjectManager. Für einen schnellen Code Check lässt sich danach sehr einfach per regulärem Ausdruck suchen. [crayon-6adb902fe16e0/] Gefunden werden damit beispielsweise Stellen wie: [crayon-6adb902fe1706/] Der reguläre&#8230;]]></description>
				<content:encoded><![CDATA[<p>In älteren Extensions oder übernommenem Magento Code findet man immer wieder direkte Zugriffe auf den <strong>ObjectManager</strong>. Für einen schnellen Code Check lässt sich danach sehr einfach per regulärem Ausdruck suchen.</p><pre class="crayon-plain-tag">grep -RInP 'ObjectManager\s*::\s*getInstance\s*\(' app/code</pre><p>Gefunden werden damit beispielsweise Stellen wie:</p><pre class="crayon-plain-tag">$objectManager = \Magento\Framework\App\ObjectManager::getInstance();

$productRepository = $objectManager-&gt;get(
    \Magento\Catalog\Api\ProductRepositoryInterface::class
);</pre><p>Der reguläre Ausdruck berücksichtigt auch unterschiedliche Leerzeichen rund um <strong>::</strong> und vor der öffnenden Klammer. Mit <strong>-R</strong> wird rekursiv gesucht, <strong>-n</strong> gibt die Zeilennummer aus und <strong>-P</strong> aktiviert die Perl kompatiblen regulären Ausdrücke von grep.</p>
<p>Auch typische anschließende Aufrufe über eine Variable namens <strong>$objectManager</strong> lassen sich suchen:</p><pre class="crayon-plain-tag">grep -RInP '\$objectManager\s*-&gt;\s*(get|create)\s*\(' app/code</pre><p>Direkte ObjectManager Nutzung gilt im eigenen Magento Code in der Regel als <strong>Bad Practice</strong>. Der wichtigste Grund ist, dass die tatsächlichen Abhängigkeiten einer Klasse dadurch versteckt werden. Am Konstruktor ist nicht mehr erkennbar, welche Services die Klasse benötigt, weil diese erst irgendwo innerhalb einer Methode aus dem ObjectManager geholt werden.</p>
<p>Das macht den Code schwerer verständlich und vor allem schwerer testbar. Bei sauberer Dependency Injection kann eine benötigte Abhängigkeit in einem Unit Test einfach durch ein Mock Objekt ersetzt werden. Holt sich die Klasse ihren Service dagegen selbst über den globalen ObjectManager, muss der Test zusätzlich diesen versteckten Zugriff berücksichtigen.</p>
<p>Auch z.B. Änderungen werden unnötig schwieriger. Benötigt eine Klasse fünf Services über den Konstruktor, ist dies sofort sichtbar. Werden dieselben fünf Services über verschiedene Methoden verteilt aus dem ObjectManager geladen, erkennt man diese Abhängigkeiten erst beim Lesen des gesamten Codes.</p>
<p>Sauberer ist deshalb die direkte Übergabe über den Konstruktor:</p><pre class="crayon-plain-tag">use Magento\Catalog\Api\ProductRepositoryInterface;

public function __construct(
    private ProductRepositoryInterface $productRepository
) {
}</pre><p>Magento kann die konkrete Implementierung anschließend selbst über seine Dependency Injection Konfiguration auflösen. Preferences, Proxies, Plugins und andere Mechanismen des Object Managers funktionieren dabei weiterhin, nur die Klasse selbst muss nicht wissen, wie ihre Abhängigkeit erzeugt wird.</p>
<p>Der ObjectManager ist also nicht grundsätzlich etwas Schlechtes, Magento selbst basiert schließlich darauf. Problematisch ist normalerweise der direkte Zugriff aus dem eigenen Anwendungscode, weil damit aus Dependency Injection praktisch ein versteckter Service Locator wird.</p>]]></content:encoded>
			<wfw:commentRss>https://www.der-mage-experte.de/3240/magento2-direkte-objectmanager-nutzung-im-code-finden/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prüfen, ob setup:upgrade notwendig ist</title>
		<link>https://www.der-mage-experte.de/3238/magento2-pruefen-ob-setupupgrade-notwendig-ist/</link>
		<comments>https://www.der-mage-experte.de/3238/magento2-pruefen-ob-setupupgrade-notwendig-ist/#comments</comments>
		<pubDate>Sat, 17 Oct 2026 20:03:45 +0000</pubDate>
		<dc:creator><![CDATA[Mex]]></dc:creator>
				<category><![CDATA[Magento Lösungen]]></category>
		<category><![CDATA[Magento 2]]></category>
		<category><![CDATA[Update]]></category>
		<category><![CDATA[upgrade]]></category>

		<guid isPermaLink="false">https://www.der-mage-experte.de/?p=3238</guid>
		<description><![CDATA[Nach einem Modulupdate oder Deployment wird in Magento oft vorsorglich setup:upgrade ausgeführt. Ob wirklich noch Änderungen an Datenbank Schema oder Datenständen offen sind, lässt sich aber vorher direkt prüfen. Führen Sie den folgenden Befehl aus: [crayon-6adb902fe19d4/] Magento vergleicht dabei den&#8230;]]></description>
				<content:encoded><![CDATA[<p>Nach einem Modulupdate oder Deployment wird in Magento oft vorsorglich <strong>setup:upgrade</strong> ausgeführt. Ob wirklich noch Änderungen an Datenbank Schema oder Datenständen offen sind, lässt sich aber vorher direkt prüfen. Führen Sie den folgenden Befehl aus:</p><pre class="crayon-plain-tag">bin/magento setup:db:status</pre><p>Magento vergleicht dabei den aktuellen Datenbankstand mit den installierten Modulen und meldet, ob noch ein Upgrade erforderlich ist.</p>
<p>Ist alles aktuell, muss <strong>setup:upgrade</strong> nicht unnötig erneut ausgeführt werden. Zeigt Magento dagegen einen abweichenden Stand, sollte das Upgrade durchgeführt werden.</p><pre class="crayon-plain-tag">bin/magento setup:upgrade</pre><p></p>]]></content:encoded>
			<wfw:commentRss>https://www.der-mage-experte.de/3238/magento2-pruefen-ob-setupupgrade-notwendig-ist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Herausfinden, welche Extensions aktiv sind und welche nicht</title>
		<link>https://www.der-mage-experte.de/3234/magento2-herausfinden-welche-extensions-aktiv-sind-und-welche-nicht/</link>
		<comments>https://www.der-mage-experte.de/3234/magento2-herausfinden-welche-extensions-aktiv-sind-und-welche-nicht/#comments</comments>
		<pubDate>Sat, 17 Oct 2026 20:00:52 +0000</pubDate>
		<dc:creator><![CDATA[Mex]]></dc:creator>
				<category><![CDATA[Magento Lösungen]]></category>
		<category><![CDATA[Extension]]></category>
		<category><![CDATA[Magento 2]]></category>

		<guid isPermaLink="false">https://www.der-mage-experte.de/?p=3234</guid>
		<description><![CDATA[Bei Magento 2 Installationen mit vielen Extensions ist nicht immer auf den ersten Blick klar, welche Module tatsächlich aktiviert sind. Mit einem einfachen CLI Befehl lässt sich der aktuelle Status aller Module anzeigen: [crayon-6adb902fe1c22/] Magento trennt die Ausgabe in List&#8230;]]></description>
				<content:encoded><![CDATA[<p>Bei Magento 2 Installationen mit vielen Extensions ist nicht immer auf den ersten Blick klar, welche Module tatsächlich aktiviert sind. Mit einem einfachen CLI Befehl lässt sich der aktuelle Status aller Module anzeigen:</p><pre class="crayon-plain-tag">bin/magento module:status</pre><p>Magento trennt die Ausgabe in <strong>List of enabled modules</strong> und <strong>List of disabled modules</strong>. Dadurch sieht man schnell, ob eine Extension wirklich geladen wird oder nur noch im Dateisystem vorhanden ist.</p>
<p>Ein einzelnes Modul lässt sich ebenfalls direkt prüfen:</p><pre class="crayon-plain-tag">bin/magento module:status Vendor_Module</pre><p>Gerade nach Deployments, Updates oder manuellen Änderungen in <strong>app/code</strong> ist das eine schnelle Möglichkeit zu kontrollieren, ob Magento das betreffende Modul tatsächlich als aktiv führt.</p>
<p>Wichtig ist dabei: Ein vorhandener Modulordner bedeutet noch nicht automatisch, dass das Modul aktiviert ist.</p>]]></content:encoded>
			<wfw:commentRss>https://www.der-mage-experte.de/3234/magento2-herausfinden-welche-extensions-aktiv-sind-und-welche-nicht/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Indexer Status per CLI prüfen</title>
		<link>https://www.der-mage-experte.de/3232/magento2-indexer-status-per-cli-pruefen/</link>
		<comments>https://www.der-mage-experte.de/3232/magento2-indexer-status-per-cli-pruefen/#comments</comments>
		<pubDate>Sat, 17 Oct 2026 08:44:17 +0000</pubDate>
		<dc:creator><![CDATA[Mex]]></dc:creator>
				<category><![CDATA[Magento Lösungen]]></category>
		<category><![CDATA[Indexierung]]></category>
		<category><![CDATA[Magento 2]]></category>

		<guid isPermaLink="false">https://www.der-mage-experte.de/?p=3232</guid>
		<description><![CDATA[Ein schneller Blick auf den Status der Magento 2 Indexer gehört bei vielen Problemen zu den ersten Prüfungen. Magento zeigt per CLI direkt an, welche Indexer aktuell sind und bei welchen ein Reindex erforderlich ist oder wo ein Problem besteht.&#8230;]]></description>
				<content:encoded><![CDATA[<p>Ein schneller Blick auf den Status der Magento 2 Indexer gehört bei vielen Problemen zu den ersten Prüfungen. Magento zeigt per CLI direkt an, welche Indexer aktuell sind und bei welchen ein Reindex erforderlich ist oder wo ein Problem besteht.</p><pre class="crayon-plain-tag">bin/magento indexer:status</pre><p>Steht bei einem Indexer <strong>Reindex required</strong>, kann dieser gezielt neu aufgebaut werden. Zuerst lässt sich mit folgendem Befehl die jeweilige Indexer ID anzeigen:</p><pre class="crayon-plain-tag">bin/magento indexer:info</pre><p>Anschließend kann z.B. nur der Produktpreisindex neu aufgebaut werden:</p><pre class="crayon-plain-tag">bin/magento indexer:reindex catalog_product_price</pre><p>Natürlich lassen sich mit <strong>bin/magento indexer:reindex</strong> auch alle Indexer auf einmal aufbauen. Gerade bei größeren Magento 2 Shops ist es aber oft sinnvoller, zunächst zu prüfen, welcher Indexer überhaupt betroffen ist.</p>]]></content:encoded>
			<wfw:commentRss>https://www.der-mage-experte.de/3232/magento2-indexer-status-per-cli-pruefen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Größte Datenbanktabellen per SQL finden</title>
		<link>https://www.der-mage-experte.de/3222/magento2-groesste-datenbanktabellen-per-sql-finden/</link>
		<comments>https://www.der-mage-experte.de/3222/magento2-groesste-datenbanktabellen-per-sql-finden/#comments</comments>
		<pubDate>Fri, 16 Oct 2026 21:22:20 +0000</pubDate>
		<dc:creator><![CDATA[Mex]]></dc:creator>
				<category><![CDATA[Magento Lösungen]]></category>
		<category><![CDATA[Magento 2]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">https://www.der-mage-experte.de/?p=3222</guid>
		<description><![CDATA[Eine Magento Datenbank kann mit der Zeit groß werden. Bevor einzelne Tabellen untersucht oder Daten gelöscht werden, lohnt sich oftmals ein Blick darauf, welche Tabellen den meisten Speicher belegen. Mit der folgenden SQL Abfrage können Sie die 20 größten Tabellen&#8230;]]></description>
				<content:encoded><![CDATA[<p>Eine Magento Datenbank kann mit der Zeit groß werden. Bevor einzelne Tabellen untersucht oder Daten gelöscht werden, lohnt sich oftmals ein Blick darauf, welche Tabellen den meisten Speicher belegen.</p>
<p>Mit der folgenden SQL Abfrage können Sie die 20 größten Tabellen inklusive Daten, Index und Gesamtgröße anzeigen:</p><pre class="crayon-plain-tag">SELECT
    TABLE_NAME AS Tabelle,
    TABLE_ROWS AS Zeilen,
    ROUND(DATA_LENGTH / 1024 / 1024, 2) AS Daten_MB,
    ROUND(INDEX_LENGTH / 1024 / 1024, 2) AS Index_MB,
    ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024, 2) AS Gesamt_MB,
    ROUND(DATA_LENGTH / 1024 / 1024 / 1024, 3) AS Daten_GB,
    ROUND(INDEX_LENGTH / 1024 / 1024 / 1024, 3) AS Index_GB,
    ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024 / 1024, 3) AS Gesamt_GB
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'MAGENTO_DATENBANK'
ORDER BY (DATA_LENGTH + INDEX_LENGTH) DESC
LIMIT 20;</pre><p><strong>MAGENTO_DATENBANK</strong> muss dabei durch den tatsächlichen Namen der Magento Datenbank ersetzt werden. Dieser steht beispielsweise in <strong>app/etc/env.php</strong> unter <strong>dbname</strong>.</p>
<p>Interessant sind vor allem <strong>Gesamt_MB</strong> beziehungsweise <strong>Gesamt_GB</strong>, da hier Daten und Indizes zusammengezählt werden. So fällt schnell auf, wenn beispielsweise eine Cron, Quote, Log oder Extension Tabelle ungewöhnlich viel Platz belegt.</p>
<p>Die Spalte <strong>Zeilen</strong> sollte bei InnoDB nur als ungefährer Wert betrachtet werden. Für die Suche nach besonders großen Tabellen sind dagegen <strong>DATA_LENGTH</strong> und <strong>INDEX_LENGTH</strong> entscheidend.</p>
<p>Die Abfrage verändert keine Daten und eignet sich deshalb gut als erster Überblick, bevor genauer untersucht wird, warum eine Magento Datenbank so groß geworden ist.</p>]]></content:encoded>
			<wfw:commentRss>https://www.der-mage-experte.de/3222/magento2-groesste-datenbanktabellen-per-sql-finden/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unterschied zwischen Flush Magento Cache und Flush Cache Storage</title>
		<link>https://www.der-mage-experte.de/3217/magento2-unterschied-zwischen-flush-magento-cache-und-flush-cache-storage/</link>
		<comments>https://www.der-mage-experte.de/3217/magento2-unterschied-zwischen-flush-magento-cache-und-flush-cache-storage/#comments</comments>
		<pubDate>Fri, 16 Oct 2026 21:11:51 +0000</pubDate>
		<dc:creator><![CDATA[Mex]]></dc:creator>
				<category><![CDATA[Magento Lösungen]]></category>
		<category><![CDATA[Cache]]></category>
		<category><![CDATA[Magento 2]]></category>

		<guid isPermaLink="false">https://www.der-mage-experte.de/?p=3217</guid>
		<description><![CDATA[Im Magento Admin unter System → Cache Management gibt es zwei Buttons, die auf den ersten Blick fast dasselbe versprechen: Flush Magento Cache und Flush Cache Storage. Der Unterschied ist einfacher, als die Bezeichnungen vermuten lassen. Flush Magento Cache sagt&#8230;]]></description>
				<content:encoded><![CDATA[<p>Im Magento Admin unter <strong>System → Cache Management</strong> gibt es zwei Buttons, die auf den ersten Blick fast dasselbe versprechen: <strong>Flush Magento Cache</strong> und <strong>Flush Cache Storage</strong>. Der Unterschied ist einfacher, als die Bezeichnungen vermuten lassen.</p>
<p><strong>Flush Magento Cache</strong> sagt vereinfacht: Lösche die Cache Einträge, von denen Magento weiß, dass sie zu Magento gehören.</p><pre class="crayon-plain-tag">bin/magento cache:clean</pre><p> bzw. </p><pre class="crayon-plain-tag">bin/magento c:c</pre><p>Magento räumt also seine eigenen Cache Daten auf, lässt den verwendeten Cache Speicher selbst aber bestehen.</p>
<p><strong>Flush Cache Storage</strong> sagt dagegen: Leere den gesamten Cache Speicher, den Magento gerade verwendet.</p><pre class="crayon-plain-tag">bin/magento cache:flush</pre><p> bzw. </p><pre class="crayon-plain-tag">bin/magento c:f</pre><p>Am einfachsten lässt es sich mit einer Schublade vergleichen: <strong>cache:clean</strong> nimmt nur die Magento Sachen aus der Schublade. <strong>cache:flush</strong> kippt den kompletten Inhalt der Schublade aus. Danach ist die Schublade leer.</p>
<p>Das wird beispielsweise bei Redis wichtig. Nutzt noch eine andere Anwendung denselben Redis Speicher, kann <strong>Flush Cache Storage</strong> auch deren Cache Daten entfernen.</p>
<p>Für das normale Cache Leeren reicht deshalb in der Regel <strong>Flush Magento Cache</strong>. <strong>Flush Cache Storage</strong> ist die gröbere Variante und sinnvoll, wenn wirklich der gesamte verwendete Cache Speicher geleert werden soll.</p>]]></content:encoded>
			<wfw:commentRss>https://www.der-mage-experte.de/3217/magento2-unterschied-zwischen-flush-magento-cache-und-flush-cache-storage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wartungsmodus aktivieren und eigene IP freigeben</title>
		<link>https://www.der-mage-experte.de/3211/magento2-wartungsmodus-aktivieren-und-eigene-ip-freigeben/</link>
		<comments>https://www.der-mage-experte.de/3211/magento2-wartungsmodus-aktivieren-und-eigene-ip-freigeben/#comments</comments>
		<pubDate>Wed, 14 Oct 2026 20:47:05 +0000</pubDate>
		<dc:creator><![CDATA[Mex]]></dc:creator>
				<category><![CDATA[Magento Lösungen]]></category>
		<category><![CDATA[Magento 2]]></category>
		<category><![CDATA[Wartung]]></category>

		<guid isPermaLink="false">https://www.der-mage-experte.de/?p=3211</guid>
		<description><![CDATA[Bei Updates oder größeren Änderungen soll der Shop für Besucher oft kurz nicht erreichbar sein, während man selbst weiterhin am System arbeiten möchte. Magento 2 kann dafür den Wartungsmodus aktivieren und gleichzeitig einzelne IP Adressen vom Wartungsmodus ausschließen. Der Wartungsmodus&#8230;]]></description>
				<content:encoded><![CDATA[<p>Bei Updates oder größeren Änderungen soll der Shop für Besucher oft kurz nicht erreichbar sein, während man selbst weiterhin am System arbeiten möchte. Magento 2 kann dafür den Wartungsmodus aktivieren und gleichzeitig einzelne IP Adressen vom Wartungsmodus ausschließen.</p>
<p>Der Wartungsmodus mit freigegebener eigener IP wird so aktiviert:</p><pre class="crayon-plain-tag">bin/magento maintenance:enable --ip=123.123.123.123</pre><p>Für normale Besucher erscheint anschließend die Wartungsseite, während die freigegebene IP den Shop weiterhin aufrufen kann.</p>
<p>Der aktuelle Status lässt sich jederzeit prüfen:</p><pre class="crayon-plain-tag">bin/magento maintenance:status</pre><p>Nach Abschluss der Arbeiten wird der Wartungsmodus wieder deaktiviert:</p><pre class="crayon-plain-tag">bin/magento maintenance:disable</pre><p>Das ist <strong>besonders praktisch bei z.B. Magento Updates oder Deployments</strong>, da sich das Frontend bereits testen lässt, ohne den Shop vorher wieder für alle Besucher freizugeben.</p>]]></content:encoded>
			<wfw:commentRss>https://www.der-mage-experte.de/3211/magento2-wartungsmodus-aktivieren-und-eigene-ip-freigeben/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Parallele Ausführung eines Cronjobs verhindern</title>
		<link>https://www.der-mage-experte.de/3209/magento2-parallele-ausfuehrung-eines-cronjobs-verhindern/</link>
		<comments>https://www.der-mage-experte.de/3209/magento2-parallele-ausfuehrung-eines-cronjobs-verhindern/#comments</comments>
		<pubDate>Wed, 14 Oct 2026 19:48:15 +0000</pubDate>
		<dc:creator><![CDATA[Mex]]></dc:creator>
				<category><![CDATA[Magento Lösungen]]></category>
		<category><![CDATA[Cron-Jobs]]></category>
		<category><![CDATA[Magento 2]]></category>
		<category><![CDATA[parallele Verarbeitung]]></category>

		<guid isPermaLink="false">https://www.der-mage-experte.de/?p=3209</guid>
		<description><![CDATA[Läuft ein eigener Magento Cronjob länger als sein eingestelltes Intervall, kann der nächste Lauf bereits starten, obwohl der vorherige noch arbeitet. Bei Importen, Exporten oder anderen schreibenden Prozessen kann das schnell zu doppelter Verarbeitung oder konkurrierenden Zugriffen führen. Magento bringt&#8230;]]></description>
				<content:encoded><![CDATA[<p>Läuft ein eigener Magento Cronjob länger als sein eingestelltes Intervall, kann der nächste Lauf bereits starten, obwohl der vorherige noch arbeitet. Bei Importen, Exporten oder anderen schreibenden Prozessen kann das schnell zu doppelter Verarbeitung oder konkurrierenden Zugriffen führen.</p>
<p>Magento bringt dafür mit dem <strong>LockManagerInterface</strong> bereits einen passenden Mechanismus mit. Vor dem eigentlichen Prozess wird ein Lock gesetzt. Existiert dieser bereits, beendet sich der zweite Lauf direkt wieder.</p><pre class="crayon-plain-tag">use Magento\Framework\Lock\LockManagerInterface;

class Import
{
    public function __construct(
        private LockManagerInterface $lockManager
    ) {
    }

    public function execute(): void
    {
        $lockName = 'vendor_module_import';

        if (!$this-&gt;lockManager-&gt;lock($lockName, 0)) {
            return;
        }

        try {
            // Run import
        } finally {
            $this-&gt;lockManager-&gt;unlock($lockName);
        }
    }
}</pre><p>Der Name des Locks sollte für den jeweiligen Prozess eindeutig sein. Solange <strong>vendor_module_import</strong> gesperrt ist, kann kein zweiter Lauf mit demselben Lock gleichzeitig starten.</p>
<p>Wichtig ist das <strong>finally</strong>: Auch wenn innerhalb des Cronjobs eine Exception entsteht, wird der Lock anschließend wieder freigegeben.</p>
<p>Magento verwendet den Lock Mechanismus selbst an verschiedenen Stellen, unter anderem um parallele Prozesse voneinander fernzuhalten. Für längere eigene Cronjobs ist <strong>LockManagerInterface</strong> deshalb deutlich sauberer als eine selbst gebaute Statusdatei oder ein Flag in der Datenbank.</p>]]></content:encoded>
			<wfw:commentRss>https://www.der-mage-experte.de/3209/magento2-parallele-ausfuehrung-eines-cronjobs-verhindern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
