coarsy
August 1, 2017, 6:30am
#1
Hi zusammen,
seit dem Update auf einem Testsystem (Gottseidank) habe ich das Problem, dass sich das Refresh Statistics Widget todlät. Sprich,
der Request
https://www.meinestruempfe.de/shopwaretest/widgets/index/refreshStatistic?requestPage=/shopwaretest/&requestController=index
findet kein Ende.
Hat jemand eine Idee, was das sein könnte?
Vielen Dank und viele Grüße,
Chris
Da es eine Testumgebung ist, mal alle Plugins ausgemacht bzw. Standard Theme probiert? Konnte ich bei mir zumindest nicht nachstellen.
coarsy
August 1, 2017, 7:01am
#3
Ist auch im Standardtheme der Fall. Aktuell habe ich noch eine Idee, woran es denn liegen könnte… Es wird ein Inline-JavaScript von mir an den Block appended, welches den Statemanager benötigt, welcher jetzt natürlich nach dem neuen asynchronen Laden an dieser Stelle noch nicht zur Verfügung steht. Hmm…
Hallo corsay,
schau mal hier: Shopware 5 upgrade guide
Dein Inline Javascript sollte natürlich erst dann laufen, wenn alles geladen wurde.
Viele Grüße aus Schöppingen
Michael Telgmann
coarsy
August 1, 2017, 7:18am
#5
Hi Michael,
das habe ich ebenfalls mit eingebaut. Irgendwas ist komisch… Auch wenn ich das Plugin von mir deaktiviere, besteht der Fehler weiterhin.
coarsy
August 1, 2017, 7:43am
#6
So, mein Plugin lädt nun wieder. Gibts auch eine Abfrage, mit der man explizit nach dem geladenen Statemanager fragen kann? Das würde das Laden bestimmt deutlich beschleunigen, oder?
Die Statistiken laden leider immer noch… Vielleicht gehts dann in der Liveumgebung. Ansonsten bleibt mir nur, die Statistiken zu Überschreiben. Das Template wird an dieser Stelle auf keinen Fall von irgendwas überschrieben.
coarsy
August 1, 2017, 10:38am
#7
Hi nochmal die Herren,
so, der Shop läuft nun auf 5.3 im Livemodus und der Statistiker lädt sich immer noch tot:
https://www.meinestruempfe.de/widgets/index/refreshStatistic?requestPage=/&requestController=index
coarsy
August 1, 2017, 11:03am
#8
So, kann es vielleicht der hier sein?
ERROR
Message:
Enlight_Controller_Exception: Action "Widgets_Index_indexAction" not found failure in /html/shopware/engine/Library/Enlight/Controller/Action.php:402
Stack trace:
#0 /html/shopware/engine/Library/Enlight/Controller/Action.php(159): Enlight_Controller_Action->__call('indexAction', Array)
#1 /html/shopware/engine/Library/Enlight/Controller/Dispatcher/Default.php(525): Enlight_Controller_Action->dispatch('indexAction')
#2 /html/shopware/engine/Library/Enlight/Controller/Front.php(223): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#3 /html/shopware/engine/Shopware/Kernel.php(184): Enlight_Controller_Front->dispatch()
#4 /html/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(491): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#5 /html/shopware/engine/Shopware/Components/HttpCache/AppCache.php(268): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL)
#6 /html/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(448): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true)
#7 /html/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(344): Symfony\Component\HttpKernel\HttpCache\HttpCache->fetch(Object(Symfony\Component\HttpFoundation\Request), true)
#8 /html/shopware/engine/Shopware/Components/HttpCache/AppCache.php(189): Symfony\Component\HttpKernel\HttpCache\HttpCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true)
#9 /html/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(210): Shopware\Components\HttpCache\AppCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true)
#10 /html/shopware/engine/Shopware/Components/HttpCache/AppCache.php(116): Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#11 /html/shopware/shopware.php(118): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request))
#12 {main}
Time:
2017-08-01T12:58:58.982571+0200
Channel:
core
request:
{
"uri": "/shopwaretest/widgets/index/refreshStatistic?requestPage=/shopwaretest/&requestController=index",
"method": "GET",
"query": {
"requestPage": "/shopwaretest/",
"requestController": "index",
"module": "widgets",
"controller": "shopwaretest",
"action": "index",
"refreshStatistic": ""
},
"post": []
}
session:
No session data available
shopId:
1
shopName:
Hauptshop Deutsch
coarsy
August 1, 2017, 11:48am
#9
So, jetzt habe ich erstmal die Statistiken deaktiviert. Ne andere Idee habe ich gerade leider nicht…
coarsy
August 2, 2017, 9:38am
#10
Hat hier keiner eine Idee, weshalb das nicht laufen möchte? Auch im Originaltemplate funktionierts nicht… Echt komisch.
simkli
August 2, 2017, 9:42am
#11
Naja im Demoshop läuft es. Das müsste man bei deinem Shop im speziellen debuggen. (z.B. alle Plugins deaktvieren usw.) Vielleicht liegt es auch am Hoster? kA
Ein allgemeines Shopware-Problem ist es jedenfalls nicht.
Viele Grüße
wenn du ganz viel Glück hast, hat jemand genau das gleiche Problem und meldet sich hier. Dann hilft es aber auch nicht, den Beiträg ständig wieder hochzuholen
coarsy
August 2, 2017, 9:45am
#12
Ja, da hast Du natürlich völlig recht. Ein Tag bereits am Debuggen. Nicht nur dieses Problem. Das ist jetzt leider das Letzte
simkli
August 2, 2017, 9:48am
#13
Wenn du keinen Zugriff auf eine Debugumgebung hast (z.B. XDEBUG oder ähnliches) kannst du auch einfach testweise mal die(“TEST”); in den Code einbauen und schauen wie weit noch alles läuft:
public function preDispatch()
{
if ($this->Request()->getActionName() === 'refreshStatistic') {
$this->Front()->Plugins()->ViewRenderer()->setNoRender();
}
}
/**
* Refresh shop statistic
*/
public function refreshStatisticAction()
{
$request = $this->Request();
$response = $this->Response();
/** @var $plugin Shopware_Plugins_Frontend_Statistics_Bootstrap */
$plugin = Shopware()->Plugins()->Frontend()->Statistics();
$plugin->updateLog($request, $response);
}
/**
shopware/Bootstrap.php at 5.3 · shopware/shopware · GitHub
Ist das Statisktik-Plugin bei dir im Plugin-Manager aktiv?
Viele Grüße
coarsy
August 2, 2017, 9:56am
#14
Interessanterweise macht er alles bis auf den Header zu setzen:
/** Setting mime type for jsonp request */
$this->Response()->setHeader('Content-type', 'application/javascript', true);
simkli
August 2, 2017, 10:01am
#15
Was passiert, wenn du nach dem setHeader noch ein die(“TEST”); machst? Wird das ausgegeben?
Mir fällt nur auf, dass hier zwar ein Header gesetzt wird, der Body aber leer bleibt.
Viele Grüße
coarsy
August 2, 2017, 10:02am
#16
Sobald ich die Zeile komplett auskommentiere, funktionieren die Statistiken einwandfrei…
simkli
August 2, 2017, 10:03am
#17
Was passiert, wenn du nach dem setHeader noch ein die(„TEST“); machst? Wird das ausgegeben?
Nur kurz, könntest du das auch noch testen? :)
coarsy
August 2, 2017, 10:06am
#18
Ja, wird ausgegeben und das Rödeln hört direkt danach auf
simkli
August 2, 2017, 10:12am
#19
Ok hier meine Vermutung:
Bei dir ist irgendwas vor dem Webserver vorgeschaltet, was nicht damit zurecht kommt, dass der Body leer bleibt, obwohl der Content-Type gesetzt ist (Varnish, Irgendwelche Caches, Apache Module, etc. … )
Vielleicht wird auch irgendwie die Content-Length gesetzt und die stimmt dann nicht überein? Kann das zu Konflikten führen?
Irgendwas anderes kommt damit nicht zurecht auf dem Server
Es gibt auch andere mit dem Problem:
In case of empty response, REST Client wait indefinitely · Issue #158 · chao/RESTClient · GitHub
Vielleicht findest du ja noch das betroffene Modul, etc.
Viele Grüße
1 Like
coarsy
August 2, 2017, 10:14am
#20
Sehr eigenartig, da es vor dem Update definitiv noch funktioniert hat. Also in der 5.2. Wahrscheinlich irgendein Modul, wobei ich schon alle deaktiviert hatte… Dann auf jeden Fall was am Server. Nun denn, vorerst funktionierts ja erstmal so.