Cache Problem? Hilfe beim Log-lesen benötigt.

Hallo zusammen,
ich setze derzeit einen Shop in den USA und für die USA auf. Dafür wurde mir Shopware empfohlen - ich bin also realtiv neu in Shopware, aber nicht was grundsätzlich Shop- und Redaktionssysteme angeht.

Shopware ist soweit ich es bis jetzt kennengelernt habe super, aber jetzt ist ein Problem aufgetaucht.

Um in den USA Sales Tax korrekt zu berechnen kommen der Service Avalara zum Einsatz und die Ankopplung erfolgt über ein PlugIn von MediaOpt. Nach einem Gepräch hat sich herausgestellt, dass es genau für unsere Version noch nicht getestet wurde, also habe ich kurzer Hand auf die aktuellste Version upgedatet, um sicher zustellen, dass unsere Probleme nicht daher rühren.
Leider lief das Auto-Update nicht 100%ig durch und ich musste Teile davon manuell fertig machen. Das Problem existiert allerdings weiterhin und wirft mir folgendes Log-File aus:

exception ‚SmartyException‘ with message ‚unable to write file /XYZ0815/public_html/var/cache/production_201703211201/templates/backend_de_DE_3e87e/e5/1b/30/wrt58de02d10faf22.47558784‘ in /XYZ0815/public_html/engine/Library/Smarty/sysplugins/smarty_internal_write_file.php:48
Stack trace:
#0 /XYZ0815/public_html/engine/Library/Smarty/sysplugins/smarty_internal_template.php(201): Smarty_Internal_Write_File::writeFile(‚/XYZ0815…‘, ‚<?php /* Smarty…‘, Object(Enlight_Template_Manager))
#1 /XYZ0815/public_html/engine/Library/Smarty/sysplugins/smarty_internal_templatebase.php(155): Smarty_Internal_Template->compileTemplateSource()
#2 /XYZ0815/public_html/engine/Library/Enlight/View/Default.php(274): Smarty_Internal_TemplateBase->fetch()
#3 /XYZ0815/public_html/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(216): Enlight_View_Default->render(Object(Enlight_Template_Default))
#4 /XYZ0815/public_html/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(242): Enlight_Controller_Plugins_ViewRenderer_Bootstrap->renderTemplate(Object(Enlight_Template_Default))
#5 /XYZ0815/public_html/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(136): Enlight_Controller_Plugins_ViewRenderer_Bootstrap->render()
#6 [internal function]: Enlight_Controller_Plugins_ViewRenderer_Bootstrap->onPostDispatch(Object(Enlight_Controller_ActionEventArgs))
#7 /XYZ0815/public_html/engine/Library/Enlight/Event/Handler/Default.php(91): call_user_func(Array, Object(Enlight_Controller_ActionEventArgs))
#8 /XYZ0815/public_html/engine/Library/Enlight/Event/EventManager.php(214): Enlight_Event_Handler_Default->execute(Object(Enlight_Controller_ActionEventArgs))
#9 /XYZ0815/public_html/engine/Library/Enlight/Controller/Action.php(202): Enlight_Event_EventManager->notify(‚Enlight_Control…‘, Object(Enlight_Controller_ActionEventArgs))
#10 /XYZ0815/public_html/engine/Library/Enlight/Controller/Dispatcher/Default.php(523): Enlight_Controller_Action->dispatch(‚indexAction‘)
#11 /XYZ0815/public_html/engine/Library/Enlight/Controller/Front.php(223): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#12 /XYZ0815/public_html/engine/Shopware/Kernel.php(180): Enlight_Controller_Front->dispatch()
#13 /XYZ0815/public_html/vendor/symfony/http-kernel/HttpCache/HttpCache.php(491): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#14 /XYZ0815/public_html/engine/Shopware/Components/HttpCache/AppCache.php(255): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL)
#15 /XYZ0815/public_html/vendor/symfony/http-kernel/HttpCache/HttpCache.php(258): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true)
#16 /XYZ0815/public_html/engine/Shopware/Components/HttpCache/AppCache.php(103): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass(Object(Symfony\Component\HttpFoundation\Request), true)
#17 /XYZ0815/public_html/shopware.php(117): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request))
#18 {main}
2017-03-31T09:18:41.733337+0200
core
{
    „uri“: „/backend/MediaManager?file=app&no-cache=1490864104+1+1“,
    „method“: „GET“,
    „query“: {
        „file“: „app“,
        „no-cache“: „1490864104 1 1“,
        „module“: „backend“,
        „controller“: „MediaManager“,
        „action“: „index“
    },
    „post“:
}
No shop data available
{
    „userId“: „50“,
    „roleId“: „1“
}
 

Für mich liest sich das als ob Shopware nicht auf den Server schreiben kann. Ich habe schon einige Berechtigungen (natürlich nach Recherche hier) manuell korrigiert, aber irgendwie komme ich da jetzt nicht weiter.

Bin für jeden Tip dankbar!

So long. 

Hallo,

die Fehlermeldung sagt es ja schon aus: ‚unable to write file /XYZ0815/public_html/var/cache/production_201703211201/templates/backend_de_DE_3e87e/e5/1b/30/wrt58de02d10faf22.47558784‘ in /XYZ0815/public_html/engine/Library/Smarty/sysplugins/smarty_internal_write_file.php:48 . Aufgrund von fehlenden Zugriffsrechten konnte der Cache bzw. eine Cache-Datei nicht erzeugt werden. Nach der Anpassung der Zugriffsrechte dürfte es ja dann funktionieren.

Beste Grüße

Sebastian

Hi Sebastian, Danke für Deine Anwort.

Ich hatte dem gesammten Ordner Cache mitsamt Unterordnern und Dateien 755 gegeben. Leider ohne Besserung.

Was ich mich da eher frage ist, warum Shopware die Berechtigungen nicht so setzt, wie es sein soll. Kann da vielleicht ein vorgelagertes Problem Schuld sein? Etwa ein .httaccess-Eintrag oder eine bestimmte Serverkonfiguration?

Hallo @Sigi‍

der Rechte müssen so gesetzt werden, dass der php-Prozeß in var/cache schreiben kann. 

Je nach verwendeter Shopware Version berücksichtigt Shopware die umask des Servers, welche man evtl. anpassen könnte. 

Ist das manuell bearbeitete Update wirklich korrekt durchgelaufen?

 

Hi hth,

also 100%ig durchgelaufen ist es nicht. Die Schritte des Updates waren ok, nur das aufräumen hat nicht geklappt - ich musste also manuell die Überbleibsel löschen.

Vielen Dank mit dem Tip bzgl. umask, werde mal den Support unseres Hosters anfunken, das klingt für mich grad nach einer heißen Spur.

Ich möchte an das Plugin anknüpfend eine Frage stellen.

Ist es nicht ausreichend im Backend (Grundeinstellungen - Shopeinstellungen - Steuern) eine neue Steuer “Sales Tax” hinzuzufügen und über die Steuerregeln die Bundesstaaten mit Steuersätzen anzulegen? Oder welchen Mehrwert bietet mir dieses Plugin Avalara?

 

Hi,
in den Staaten gibt es über 3000 Steuersätze, die sich nach Produkt, Auslieferungsstandort und Zielort unterscheiden und sich quasi täglich ändern können.
Das ist manuell kaum bis gar nicht abzudecken.

Entweder man berechnet die Steuer nach der Bestellung, was eine bei uns „klassiche“ Vorkassebestellung praktisch unmöglich macht, oder man lässt die Steuer auf dem Weg zur Kasse automatisch berechnen, wenn der Kunde bereits seine (Liefer-) Adresse bekannt gegeben hat.

… war mir so leider auch nicht bewusst, bis ich mit dem Projekt angefangen habe.

@Magic schrieb:

Ich möchte an das Plugin anknüpfend eine Frage stellen.

Ist es nicht ausreichend im Backend (Grundeinstellungen - Shopeinstellungen - Steuern) eine neue Steuer „Sales Tax“ hinzuzufügen und über die Steuerregeln die Bundesstaaten mit Steuersätzen anzulegen? Oder welchen Mehrwert bietet mir dieses Plugin Avalara?

 

Doch, das geht.

Du hast halt immer einen Standard-Preis und dieser würde sich dann nach dem Login verändern. Du kannst einem Artikel ja eh nur einen Steuersatz zuweisen - nennen kannst du den wie du willst. Über die Steuerregeln entscheidet sich dann pro Case welche Steuer addiert wird.