# Themes kompilieren ohne den gesamten Cache zu löschen

**URL:** https://forum.shopware.com/t/themes-kompilieren-ohne-den-gesamten-cache-zu-loschen/39148
**Category:** Themes & Design
**Created:** [18. August 2016 um 04:04 UTC](https://forum.shopware.com/t/themes-kompilieren-ohne-den-gesamten-cache-zu-loschen/39148 "2016-08-18T04:04:57Z")
**Posts on this page:** 17
**Page:** 1

<div class="post-metadata">

### Author: ![Kenny](https://avatars.discourse-cdn.com/v4/letter/k/90db22/32.png) [@Kenny](https://forum.shopware.com/u/Kenny)
#### Post date: [18. August 2016 um 04:04 UTC](https://forum.shopware.com/t/themes-kompilieren-ohne-den-gesamten-cache-zu-loschen/39148/1 "2016-08-18T04:04:57Z")

</div>

Hallo,

ist es irgendwie möglich, die Themes zu kompilieren, ohne dabei den gesamten Http-Reverse-Proxy zu löschen?  
Letzteres zu erstellen, dauert ja ne ziemlich lange Weile und nutzt ziemliche Server-Resourcen.

Ich verstehe nicht so ganz, wieso bei kleinen Veränderungen an einer Template-Datei der gesamte (1GB-große) Cache neu erstellt werden sollte.

Hat jemand eine Idee?

MFG  
Nils

---

<div class="post-metadata">

### Author: ![kulli](https://avatars.discourse-cdn.com/v4/letter/k/a3d4f5/32.png) [@kulli](https://forum.shopware.com/u/kulli)
#### Post date: [18. August 2016 um 04:28 UTC](https://forum.shopware.com/t/themes-kompilieren-ohne-den-gesamten-cache-zu-loschen/39148/2 "2016-08-18T04:28:10Z")

</div>

Die Frage ist eher warum das “ne zimlich lange Weile” dauert ?

Alle Caches zu leeren und das template kompilieren dauert hier manuell ca. 6-8 sec. aber das ist sicher auch von der Größe des Shops abhängig.

möglicherweise hilt auch das: [http://community.shopware.com/http-cache](http://community.shopware.com/http-cache)

&nbsp;

&nbsp;

&nbsp;

---

<div class="post-metadata">

### Author: ![Kenny](https://avatars.discourse-cdn.com/v4/letter/k/90db22/32.png) [@Kenny](https://forum.shopware.com/u/Kenny)
#### Post date: [18. August 2016 um 05:40 UTC](https://forum.shopware.com/t/themes-kompilieren-ohne-den-gesamten-cache-zu-loschen/39148/3 "2016-08-18T05:40:19Z")

</div>

Hallo kulli,

bei 600 Herstellern und ca. 5000 Artikeln (insgesamt etwa 1GB) dauert das Cache aufwärmen etwa 10 bis 15 Minuten. Das Themes kompilieren geht natürlich schon so schnell. Aber beim Cache leeren bzw. Themes neu kompilieren wird (zumindest bei mir) auch automatisch der Http-Proxy-Cache mit gelöscht, wodurch ein erneutes Cache äufwärmen notwendig wird…

MFG  
Nils

---

<div class="post-metadata">

### Author: ![Synonymous](https://avatars.discourse-cdn.com/v4/letter/s/57b2e6/32.png) [@Synonymous](https://forum.shopware.com/u/Synonymous)
#### Post date: [18. August 2016 um 06:15 UTC](https://forum.shopware.com/t/themes-kompilieren-ohne-den-gesamten-cache-zu-loschen/39148/4 "2016-08-18T06:15:42Z")

</div>

Guten Morgen,

Das Erstellen des HTTP-Caches (auch „Proxy Cache“) **kann eine ganze Weile dauern** , da im Prinzip für alle Produkte, Kategorien etc. die nicht Session-abhängigen Teile der&nbsp;Seiten vollständig gerendert und gecached werden müssen.

Unabhängig davon hast Du ja die Möglichkeit den Cache auch über das **„Caches“ Menü** im Backend zu leeren. Dort kannst Du wählen welche Caches geleert werden können. Wenn Du dort lediglich die beiden Caches für die Templates wählst, bleibt der HTTP Cache auch unberührt.

---

<div class="post-metadata">

### Author: ![Michael\_Telgmann](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/michael_telgmann/32/20289_2.png) [@Michael\_Telgmann](https://forum.shopware.com/u/Michael_Telgmann)
#### Post date: [18. August 2016 um 06:25 UTC](https://forum.shopware.com/t/themes-kompilieren-ohne-den-gesamten-cache-zu-loschen/39148/5 "2016-08-18T06:25:12Z")

</div>

Hi Nils,

unter Einstellungen -\> Caches / Performance -\> Reiter Einstellungen -\> Themes kannst du auch nur die Theme Kompilierung anstoßen.

Viele Grüße aus Schöppingen

![cool](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/86c57fbace799dd4eb1f1b8a2d3bdc1733f0aea1.png "cool")&nbsp;Michael Telgmann

---

<div class="post-metadata">

### Author: ![t2oh4e](https://avatars.discourse-cdn.com/v4/letter/t/a5b964/32.png) [@t2oh4e](https://forum.shopware.com/u/t2oh4e)
#### Post date: [18. August 2016 um 06:32 UTC](https://forum.shopware.com/t/themes-kompilieren-ohne-den-gesamten-cache-zu-loschen/39148/6 "2016-08-18T06:32:31Z")

</div>

> [@Synonymous schrieb:](https://forum.shopware.com/profile/24210/Synonymous "Synonymous")
> 
> Unabhängig davon hast Du ja die Möglichkeit den Cache auch über das **„Caches“ Menü** im Backend zu leeren. Dort kannst Du wählen welche Caches geleert werden können. Wenn Du dort lediglich die beiden Caches für die Templates wählst, bleibt der HTTP Cache auch unberührt.

Das ist so nicht ganz korrekt. Wählt man „Themes kompilieren“ wird zwar zunächst nur der Theme-Cache geleert, beim neukompilieren der Themes aber automatisch im Anschluss auch der HTTP-Cache geleert, wie Kenny geschrieben hat.

Warum das so ist? Vermutlich weil sonst gecachte Seiten mit dem alten Theme ausgeliefert werden würden und das System nicht weiß welche Template-Datei gerade geändert wurde und welche Seiten davon eventuell betroffen sein könnten um eventuell nur Teile des Caches neu zu generieren.

Wenn das im Live-Betrieb so ein Problem ist würde ich dazu raten solche Änderungen automatisiert nachts machen zu lassen oder Zugriffszahlen tagsüber analysieren und schauen wann ihr tagsüber wenig Betrieb auf dem Server habt.

---

<div class="post-metadata">

### Author: ![Synonymous](https://avatars.discourse-cdn.com/v4/letter/s/57b2e6/32.png) [@Synonymous](https://forum.shopware.com/u/Synonymous)
#### Post date: [18. August 2016 um 06:36 UTC](https://forum.shopware.com/t/themes-kompilieren-ohne-den-gesamten-cache-zu-loschen/39148/7 "2016-08-18T06:36:33Z")

</div>

Also ich kann dieses Verhalten aktuell nicht bestätigen. Bei 5.2.5 wird der HTTP Cache beim Kompilieren nicht geleert… Zumindest wäre es mir noch nicht aufgefallen.

Meine Empfehlung:  
Da Du am Produktivsystem ja sowieso nur alle X-Zeiten mal das Theme kompilierst (hoffe ich jedenfalls 🙂 ), würde ich das Kompilieren bei Bedarf auch tagsüber machen und das Cache-Warmup dann in der Nacht anstoßen. Evtl. kannst Du diesem Prozess auch geringe Prio geben, damit die Ressourcen Deiner Maschine nicht komplett gefressen werden.

---

<div class="post-metadata">

### Author: ![t2oh4e](https://avatars.discourse-cdn.com/v4/letter/t/a5b964/32.png) [@t2oh4e](https://forum.shopware.com/u/t2oh4e)
#### Post date: [18. August 2016 um 06:42 UTC](https://forum.shopware.com/t/themes-kompilieren-ohne-den-gesamten-cache-zu-loschen/39148/8 "2016-08-18T06:42:33Z")

</div>

Ich hab’s gerade nochmal getestet. Der HTTP-Cache wird sogar vor dem Theme kompilieren schon geleert, auch wenn man nur den Haken bei Theme kompilieren anhakt. Außerdem wird er nochmal nach erfolgreichem kompilieren automatisch gelöscht. Auch in SW5.2.5

---

<div class="post-metadata">

### Author: ![t2oh4e](https://avatars.discourse-cdn.com/v4/letter/t/a5b964/32.png) [@t2oh4e](https://forum.shopware.com/u/t2oh4e)
#### Post date: [18. August 2016 um 06:46 UTC](https://forum.shopware.com/t/themes-kompilieren-ohne-den-gesamten-cache-zu-loschen/39148/9 "2016-08-18T06:46:43Z")

</div>

Eventuell hilft es über die command line den Theme-Cache zu generieren per sw:theme:cache:generate

Kann allerdings sein, dass dort auch automatisch andere Caches mit geleert werden, nicht getestet.

---

<div class="post-metadata">

### Author: ![Kenny](https://avatars.discourse-cdn.com/v4/letter/k/90db22/32.png) [@Kenny](https://forum.shopware.com/u/Kenny)
#### Post date: [19. August 2016 um 23:41 UTC](https://forum.shopware.com/t/themes-kompilieren-ohne-den-gesamten-cache-zu-loschen/39148/10 "2016-08-19T23:41:54Z")

</div>

Hi t2oh4e (was auch immer der Name bedeuten mag&nbsp; ![Lips-are-sealed](https://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/lips-are-sealed.png "Lips-are-sealed")),

&nbsp;

ich werds mal mit den CLI commands versuchen. Hab das aber noch nie benutzt und muss mich erstmal reinfuchsen und berichte dann.  
Aber bin schon mal froh, dass Andere das auch als Problem/Bug betrachten und dass das wohl nicht so gewollt ist. Sonst hätte ich wieder einen Punkt mehr im Leben, bei dem ich die Welt nicht verstehen/nachvollziehen könnte.

Bis in Kürze!

MFG  
Nils

---

<div class="post-metadata">

### Author: ![Kenny](https://avatars.discourse-cdn.com/v4/letter/k/90db22/32.png) [@Kenny](https://forum.shopware.com/u/Kenny)
#### Post date: [20. August 2016 um 05:42 UTC](https://forum.shopware.com/t/themes-kompilieren-ohne-den-gesamten-cache-zu-loschen/39148/11 "2016-08-20T05:42:39Z")

</div>

```
/elektronikhandel-online.de/bin$ php bin/console
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/curl.so' - libnghttp2.so.14: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: Module 'gmp' already loaded in Unknown on line 0
PHP Warning: Module 'mysql' already loaded in Unknown on line 0
PHP Warning: Module 'mysqli' already loaded in Unknown on line 0
PHP Warning: Module 'pdo_mysql' already loaded in Unknown on line 0
No entry for terminal type "dumb";
using dumb terminal settings.
PHP Warning: Module 'ionCube Loader' already loaded in Unknown on line 0
[Sat Aug 20 05:38:05 2016] [warn-ioncube] The ionCube PHP Loader is disabled because of startup problems. (pid 26899)
PHP Fatal error: IC24: ic24.sec.update_domains_retry_interval must be between 1 (1 second) and 300 (5 minutes) in Unknown on line 0

```

Hm,

habe mal testweise php bin/console in der console eingegeben und erhalte dann nur folgende Fehlermeldung:

Ich schätze mal, dass noch Vorabeiten von mir durchzuführen sind. Hättest du einen Denkanstoß für mich?

MFG  
NIls

&nbsp;

---

<div class="post-metadata">

### Author: ![kulli](https://avatars.discourse-cdn.com/v4/letter/k/a3d4f5/32.png) [@kulli](https://forum.shopware.com/u/kulli)
#### Post date: [20. August 2016 um 05:49 UTC](https://forum.shopware.com/t/themes-kompilieren-ohne-den-gesamten-cache-zu-loschen/39148/12 "2016-08-20T05:49:11Z")

</div>

Ich würde mal die Systemvorraussetzung ganz genau prüfen.

Wie bereits in meinem ersten post angemerkt dauert das viel zu lange. Sieht mir eher nach timeouts aus durch mangelnde Servervorraussetzungen

---

<div class="post-metadata">

### Author: ![Synonymous](https://avatars.discourse-cdn.com/v4/letter/s/57b2e6/32.png) [@Synonymous](https://forum.shopware.com/u/Synonymous)
#### Post date: [22. August 2016 um 05:19 UTC](https://forum.shopware.com/t/themes-kompilieren-ohne-den-gesamten-cache-zu-loschen/39148/13 "2016-08-22T05:19:28Z")

</div>

&nbsp;Bei Dir dürfte CURL nicht installiert oder richtig initialisiert sein, daher die Exception…

---

<div class="post-metadata">

### Author: ![Kenny](https://avatars.discourse-cdn.com/v4/letter/k/90db22/32.png) [@Kenny](https://forum.shopware.com/u/Kenny)
#### Post date: [26. August 2016 um 17:09 UTC](https://forum.shopware.com/t/themes-kompilieren-ohne-den-gesamten-cache-zu-loschen/39148/14 "2016-08-26T17:09:23Z")

</div>

@ Kulli

Ich glaube, dass du Themes kompilieren mit Cache aufwärmen verwechselst, könnte das sein?

@Synonymous‍

Hab gerade mal nachgesehen und folgendes steht in der php-info:

cURL support: enabled  
cURL Information 7.50.1

Daher sollte es daran nicht liegen. Hättest du noch eine Vermutung? Vielleicht wegen der noch “zu” neuen PHP 7.0.9-Version oder irgendwo irgendwelche nicht korrekten Schreibrechte oder??

&nbsp;

&nbsp;

@ alle anderen  
ich hatte gar nicht so recht mitbekommen, wieviele Antworten ich hier erhalten hatte und will die Antworten natürlich nicht ignorieren!

&nbsp;

@Michael Telgmann

Leider wird auch hier bei mir der gesamte Cache gelöscht

@Synonymous‍

Egal welche Haken ich entferne. Der Cache wird immer komplett gelöscht. Sogar wenn ich nur oben im Backend “kurz auf Shop-Cache leeren” klicke. Hier dachte ich bisher, dass dort nur kleinere Einstellungen “geleert” werden und nicht direkt der ganze Proxy-Cache… Leider hab ich bisher keine Möglichkeit entdeckt, das Problem zu umgehen. Werds aber weiter testen und bei Erfolg berichten.

&nbsp;

MFG  
Nils

&nbsp;

Ergänzung:  
Bei cURL erhalte ich jetzt immerhin schon die Meldung: Permission denied  
Noch ein paar Rechte anpassen und dann sollte das zumindest erstmal funktionieren.

&nbsp;

---

<div class="post-metadata">

### Author: ![kulli](https://avatars.discourse-cdn.com/v4/letter/k/a3d4f5/32.png) [@kulli](https://forum.shopware.com/u/kulli)
#### Post date: [26. August 2016 um 17:47 UTC](https://forum.shopware.com/t/themes-kompilieren-ohne-den-gesamten-cache-zu-loschen/39148/15 "2016-08-26T17:47:36Z")

</div>

> [@Kenny schrieb:](https://forum.shopware.com/profile/21822/Kenny "Kenny")
> 
> @ Kulli
> 
> Ich glaube, dass du Themes kompilieren mit Cache aufwärmen verwechselst, könnte das sein?
> 
> &nbsp;

nein

---

<div class="post-metadata">

### Author: ![DanielNogel](https://avatars.discourse-cdn.com/v4/letter/d/96bed5/32.png) [@DanielNogel](https://forum.shopware.com/u/DanielNogel)
#### Post date: [26. August 2016 um 19:00 UTC](https://forum.shopware.com/t/themes-kompilieren-ohne-den-gesamten-cache-zu-loschen/39148/16 "2016-08-26T19:00:24Z")

</div>

Hi,

das Kompilieren der Themes erfordert das Neugenerieren des Caches. Beim Neukompilieren ändert sich der Name (Timestamp)&nbsp;der Themedateien, damit Browser die neuen Dateien anfordern und nicht die alten Dateien weiternutzen. Diese neuen Namen müssen in den HTTP-Seiten ja referenziert werden - und entsprechend muss der HTTP-Cache invalidiert werden, da er auf die alten Themefiles verweist.

Von daher ist das nach meinem Verständnis erstmal korrekt so - wenngleich ich deine Frage gut verstehen kann, scheint mir das technisch erstmal notwendig zu sein.

Daniel

---

<div class="post-metadata">

### Author: ![Synonymous](https://avatars.discourse-cdn.com/v4/letter/s/57b2e6/32.png) [@Synonymous](https://forum.shopware.com/u/Synonymous)
#### Post date: [27. August 2016 um 19:28 UTC](https://forum.shopware.com/t/themes-kompilieren-ohne-den-gesamten-cache-zu-loschen/39148/17 "2016-08-27T19:28:30Z")

</div>

Stimmt - muss eigentlich schon allein wegen intermediärer Knoten so sein, da die die Files sonst möglicherweise cachen wenn der Timestamp im HTTP Header nicht modifiziert wird.&nbsp;

Du verwendest hier ja scheinbar auch einen Ioncube Loader Service (ic24), der das Problem auslöst. Versuche mal diesen zu dekativieren. Nachdem der Ioncube Loader mit PHP7 noch nicht funktioniert, könnte dort Deine Exception herkommen.

> **[ionCube24](https://ioncube24.com/help/faq)**
>
> Realtime website intrusion protection
