Shopware 6: .env.local.php verwenden
Ab Shopware 6.4.8.0 unterstützt Shopware die Einstellungen, direkt in eine .env.local.php zu schreiben.
Hintergrund
Ab Shopware 6.4.8.0 (https://developer.shopware.com/docs/guides/hosting/performance/performance-tweaks#.env.local.php) unterstützt Shopware die Einstellungen, direkt in eine .env.local.php zu schreiben. Diese Funktion ist ein Symfony Core Feature (https://symfony.com/doc/current/configuration.html#configuring-environment-variables-in-production). Hierdurch muss die .env Datei nicht bei jedem Request geparsed werden.
Stand Mai 2022 liefert Shopware jedoch noch keine Möglichkeit, die .env.local.php automatisch zu generieren. Auch wird das Symfony Tool Flex nicht mit Shopware ausgeliefert.
Aktuell muss die .env.local.php daher noch manuell erzeugt werden.
Lösung
Obwohl Shopware noch keine Möglichkeit bietet, die .env.local.php automatisch zu generieren, ist es dennoch möglich, die Datei .env.local.php zu verwenden.
Hierfür kann eine entsprechende Datei auf Basis der bisherigen .env Datei angelegt werden. Die Syntax muss dazu in ein PHP-Array umgeschrieben werden. Eine entsprechende Datei kann daher beispielsweise wie folgt aussehen:
<?php
return array (
'APP_ENV' => "prod",
'APP_SECRET' => "***",
'APP_URL' => "http://sw6.c-421.maxcluster.net",
'DATABASE_URL' => "mysql://db-user-1:***@localhost:3306/db-1",
'COMPOSER_HOME' => "/var/www/share/sw6.c-421.maxcluster.net/sw6/var/cache/composer",
'INSTANCE_ID' => "***",
'BLUE_GREEN_DEPLOYMENT' => "1",
'SHOPWARE_HTTP_CACHE_ENABLED' => "1",
'SHOPWARE_HTTP_DEFAULT_TTL' => "7200",
'SHOPWARE_ES_HOSTS' => "",
'SHOPWARE_ES_ENABLED' => "0",
'SHOPWARE_ES_INDEXING_ENABLED' => "0",
'SHOPWARE_ES_INDEX_PREFIX' => "sw",
'SHOPWARE_CDN_STRATEGY_DEFAULT' => "id"
);