coarsy
1. August 2017 um 06:30
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
1. August 2017 um 07:01
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
1. August 2017 um 07:18
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
1. August 2017 um 07:43
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
1. August 2017 um 10:38
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
1. August 2017 um 11:03
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
1. August 2017 um 11:48
9
So, jetzt habe ich erstmal die Statistiken deaktiviert. Ne andere Idee habe ich gerade leider nicht…
coarsy
2. August 2017 um 09:38
10
Hat hier keiner eine Idee, weshalb das nicht laufen möchte? Auch im Originaltemplate funktionierts nicht… Echt komisch.
simkli
2. August 2017 um 09:42
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
2. August 2017 um 09:45
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
2. August 2017 um 09:48
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
2. August 2017 um 09:56
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
2. August 2017 um 10:01
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
2. August 2017 um 10:02
16
Sobald ich die Zeile komplett auskommentiere, funktionieren die Statistiken einwandfrei…
simkli
2. August 2017 um 10:03
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
2. August 2017 um 10:06
18
Ja, wird ausgegeben und das Rödeln hört direkt danach auf
simkli
2. August 2017 um 10:12
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 „Gefällt mir“
coarsy
2. August 2017 um 10:14
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.