Hi! Nun nach vielen Problemen mit Custom Products sind noch ein oder zwei Probleme übrig geblieben die ich einfach nicht in den Griff bekommen. Hatte bei größeren Warenkorb Bestellungen Probleme das die Kunden Ihre Bestellungen nie abschließen konnten. Das geht nun weil ich das memory limit auf 2048M hochgeschraubt habe, weiß aber nicht ob das eine dauerhaft gute Lösung ist, kann ja nicht normal sein oder? Weiteres bekomme ich täglich folgende Fehlermeldung per Mail, siehe unten! Auch ab und zu Kundenbeschwerden wie heute: „Sobald ich zur Kasse gegangen bin hat die Seite wahnsinnig lang nicht reagiert. Mein PC brachte die Meldung dass ein Skript verhindert, dass es weiter geht. Ich weiß jetzt nicht, ob es an meinem PC oder der Seite liegt, dafür bin ich technisch nicht fit genug. Aber vielleicht weiß das jemand bei Ihnen und kann sich das anschauen falls die Ursache auf der Seite liegt.“ Weiß aber leider nicht viel damit anzufangen Vielleicht weiß hier jemand Hilfe? Shop ist http://www.holz-frank.com Viele Grüße Fabian exception ‚Zend_Session_Exception‘ with message ‚The session has already been started. The session id must be set first.‘ in /www/htdocs/w0000000/shopware/engine/Library/Zend/Session.php:709 Stack trace: #0 /www/htdocs/w0000000/shopware/engine/Library/Zend/Session.php(421): Zend_Session::setId(‚da602f0b162fccb…‘) #1 /www/htdocs/w0000000/shopware/engine/Library/Zend/Session/Namespace.php(143): Zend_Session::start(true) #2 /www/htdocs/w0000000/shopware/engine/Shopware/Components/DependencyInjection/Bridge/Session.php(81): Zend_Session_Namespace->__construct(‚Shopware‘) #3 /www/htdocs/w0000000/shopware/var/cache/production_201510221322/proxies/ShopwareProductionProjectContainer.php(614): Shopware\Components\DependencyInjection\Bridge\Session->factory(Object(ShopwareProductionProjectContainer)) #4 /www/htdocs/w0000000/shopware/vendor/symfony/dependency-injection/Container.php(327): ShopwareProductionProjectContainer->getSessionService() #5 /www/htdocs/w0000000/shopware/engine/Shopware/Components/DependencyInjection/Container.php(253): Symfony\Component\DependencyInjection\Container->get(‚session‘) #6 /www/htdocs/w0000000/shopware/engine/Shopware/Components/DependencyInjection/Container.php(188): Shopware\Components\DependencyInjection\Container->load(‚session‘) #7 /www/htdocs/w00000000/shopware/engine/Shopware/Bundle/StoreFrontBundle/Service/Core/ContextService.php(187): Shopware\Components\DependencyInjection\Container->get(‚session‘) #8 /www/htdocs/w0000000/shopware/engine/Shopware/Models/Shop/Shop.php(710): Shopware\Bundle\StoreFrontBundle\Service\Core\ContextService->initializeShopContext() #9 /www/htdocs/w0000000/shopware/engine/Shopware/Plugins/Default/Core/Router/Bootstrap.php(129): Shopware\Models\Shop\Shop->registerResources(Object(Shopware_Proxies_ShopwareBootstrapProxy)) #10 /www/htdocs/w0000000/shopware/engine/Library/Enlight/Event/Handler/Plugin.php(149): Shopware_Plugins_Core_Router_Bootstrap->onRouteStartup(Object(Enlight_Controller_EventArgs)) #11 /www/htdocs/w0000000/shopware/engine/Library/Enlight/Event/EventManager.php(210): Enlight_Event_Handler_Plugin->execute(Object(Enlight_Controller_EventArgs)) #12 /www/htdocs/w0000000/shopware/engine/Library/Enlight/Controller/Front.php(162): Enlight_Event_EventManager->notify(‚Enlight_Control…‘, Object(Enlight_Controller_EventArgs)) #13 /www/htdocs/w0000000/shopware/engine/Shopware/Kernel.php(148): Enlight_Controller_Front->dispatch() #14 /www/htdocs/w0000000/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(492): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #15 /www/htdocs/w0000000/shopware/engine/Shopware/Components/HttpCache/AppCache.php(255): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, Object(Symfony\Component\HttpFoundation\Response)) #16 /www/htdocs/w0000000/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(396): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, Object(Symfony\Component\HttpFoundation\Response)) #17 /www/htdocs/w0000000/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(355): Symfony\Component\HttpKernel\HttpCache\HttpCache->validate(Object(Symfony\Component\HttpFoundation\Request), Object(Symfony\Component\HttpFoundation\Response), true) #18 /www/htdocs/w0000000/shopware/engine/Shopware/Components/HttpCache/AppCache.php(178): Symfony\Component\HttpKernel\HttpCache\HttpCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true) #19 /www/htdocs/w0000000/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(213): Shopware\Components\HttpCache\AppCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true) #20 /www/htdocs/w0000000/shopware/engine/Shopware/Components/HttpCache/AppCache.php(114): Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #21 /www/htdocs/w0000000/shopware/shopware.php(101): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request)) #22 {main}
Das Problem kann ich bestätigen. Wir sind Mittwoch von Shopware 4 auf 5.1 umgestiegen und weiß schon von zwei Kunden, die den Fehler hatten und zu unserem Glück dann ihre Bestellung auf zwei aufteilten um überhaupt bestellen zu können. Ich habe selbst mal eben 18 Artikel in den Warenkorb gepackt und bekomme nun auch eine Fehlermeldung: Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 60177435 bytes) in /html/shopware/engine/Shopware/Plugins/Default/Frontend/Seo/Bootstrap.php on line 180 503 Service Unavailable Das ist sehr unschön. Ich werde auch erstmal das Memory-Limit hochdrehen, aber es ist ja nicht nur so, dass der Warenkorb viel Speicher verbraucht, er braucht auch seeehr lange zum laden.
Ich habe nur kurz im Holzladen reingeguckt: Dropdown für Menge: “10000” Stück - das macht für das Dropdown 10000 Zeilen HTML-Code. Nun legt mal mehrere Artikel an in den Warenkorb. Wenn also pro Artikel 10000 Stück erlaubt sind, kommt so schnell eine gigantische Größe an HTML im Warenkorb zusammen. Altbekanntes und ignoriertes Problem von Shopware. Setzt zum Testen einfach mal die Maximale Stückzahl auf z.B. 100 oder gar 50 runter und testet den Warenkorb nochmal. Kann ich nicht verstehen: Shopware ist inzwischen ein fettes Javascript-Monster geworden, aber die Auswahlfelder für “Stückzahlen” im Artikel und Warenkorb sind HTML-Dropdowns…
Vielen vielen Dank Carsten!!! Ich teste es nun mal mit 1000 und Schraube es bei Bedarf noch weiter runter. Nur doof, da ich öffters Kunden habe die mal 1000 oder mehr von einem Artikel bestellen. Das ist ja nun garnicht möglich. Hoffen wir mal auf Nachbesserung auf der Seite von Shopware :shopware:
Der Tipp war für uns auch schon mal hilfreich. Da wir Schläuche etc. verkaufen, habe ich das auf 1000 runtergedreht. Braucht zwar immer noch lange bei einem vollen Warenkorb, aber lädt zumindest wieder.
Wenn es nur “einer-Schritte” sind, würde ich ggf. die Dropdowns gegen Eingabefelder austauschen - HTML5 erlaubt dabei auch Ober- und Untergrenzen. Ich meine, das war kürzlich noch eine Thema im Forum - mal nach suchen
Meine sogar mal ein Plugin dazu gesehen zu haben: Inputfeld zur manuellen Eingabe mit Minus und Plus-Button, so dass man die Anzahl über die Buttons oder über das Inputfeld per Tastatur erhöhen kann. Mir persönlich waren die ganzen HTML-Elemente sowieso immer ein Dorn im Auge.
Hallo, die langen Ladezeiten der Seiten im Checkout ergeben sich nicht aus der maximal möglichen Bestellmenge je Artikel, sondern aus der Anzahl unterschiedlicher Artikel und der spezifischen Eigenschaften des Artikels (Variante, CustomProduct etc). Holz-Frank läuft bei 26 Artikeln im Warenkorb eigentlich in einer erwartbaren Geschwindigkeit (um die 5 Sekunden). Will man diese steigern, ist die Serverhardware unter Umständen der richtige Ansatzpunkt. Es ist auch vollkommen legitim, ein höheres Skriptlimit als 256MB zu verwenden. Das ist eine untere Grenze, die bei “normalen/kleineren” Warenkörben ausreicht. Verwendet man eine hohe Variantenanzahl oder hat größere Warenkörbe, muss man dies hoch setzen. Dies hat natürlich zur Folge, dass man das physikalisch verfügbare RAM seiner Hostingumgebung ebenfalls erhöhen muss. Stehen dort nur 1-2GB zur Verfügung, eventuell sogar noch bei einem virtuellen Server, dann kann es bei mehreren gleichzeitig aktiven Kunden sehr schnell zu Engpässen kommen. Normalerweise sollte dies dann nicht direkt zu einem 503-Fehler führen, aber es wird langsamer. Natürlich kann man das Template des Checkouts so ändern, dass dort keine Select-Box für die bestellbare Menge steht, sondern eine Input-Box in die man die Menge per Tastatur eingeben kann. Man kann dies auch so einrichten, dass “Bestellschritte”, maximale und minimale Bestellmenge berücksichtigt werden. Dies wird aber an der Geschwindigkeit des Warenkorbs keine signifikanten Änderungen bewirken. Edit: das oben gesagte gilt in der Tat nicht für eine Bestellmenge von >= 10000. Ich würde allerdings trotzdem mehr als 256 MB RAM als Skriptlimit empfehlen, wenn man dort mit einer größeren Variantenanzal pro Artikel und/oder Custom Product unterwegs ist.
Nee hth - hier WAR es der gigantische HTML-Code für die DropDowns im Warenkorb. Er hat es ja inzsichen von 10000 auf 1000 geändert. <option value="1000">1000</option>
Das sind gut 30 Zeichen, bei 10.000Stk. und sagen wir mal 10 Artikel im Warenkorb haben wir dann schon mindestens 3MB an Daten, die erst via smarty generiert werden müssen (100.000 Schleifendurchläufe) und dann an den Browser übermittelt werden müssen. Selbst wenn das nicht den Ram vom Server auslastet, müssen 3MB Daten NUR für Dropdowns zum Browser gelangen - nicht jeder hat VDSL50 oder mehr…
Ich bin mir sicher, es ist nicht das erste Ticket - aber da muss man wohl hartnäckig bleiben - bitte um Votes http://jira.shopware.de?ticket=SW-13149
[quote=„sonic“]Nee hth - hier WAR es der gigantische HTML-Code für die DropDowns im Warenkorb. Er hat es ja inzsichen von 10000 auf 1000 geändert. [/quote] Ja, damit hast Du Recht. Ich hatte gedacht, ihr hättet euch verlesen gehabt, weil 1000 die größte Bestellmenge im Shop gewesen ist. Das Downloadvolumen wird aber bei komprimierten Dateien nich so hoch und es funktioniert mit 26 Artikeln (gut, da sind einige mit nur 500er Bestellmenge dabei) noch akzeptabel. Und dafür braucht man auch kein VDSL. Ansonsten kann man alle Select-Boxen im Checkout-Template in „Input“ Felder umwandeln und hat auch dieses Problem gelöst. Viele Grüße HTH
An der Fehlermeldung per Mail hat das leider noch nichts geändert, gerade wieder zwei reingeflattert. Hat zufällig jemand eine Idee woher diese kommt? Viele Grüße Fabian exception ‘Zend_Session_Exception’ with message ‘The session has already been started. The session id must be set first.’ in /www/htdocs/w0000000/shopware/engine/Library/Zend/Session.php:709 Stack trace: #0 /www/htdocs/w0000000/shopware/engine/Library/Zend/Session.php(421): Zend_Session::setId(‘da602f0b162fccb…’) #1 /www/htdocs/w0000000/shopware/engine/Library/Zend/Session/Namespace.php(143): Zend_Session::start(true) #2 /www/htdocs/w0000000/shopware/engine/Shopware/Components/DependencyInjection/Bridge/Session.php(81): Zend_Session_Namespace->__construct(‘Shopware’) #3 /www/htdocs/w0000000/shopware/var/cache/production_201510221322/proxies/ShopwareProductionProjectContainer.php(614): Shopware\Components\DependencyInjection\Bridge\Session->factory(Object(ShopwareProductionProjectContainer)) #4 /www/htdocs/w0000000/shopware/vendor/symfony/dependency-injection/Container.php(327): ShopwareProductionProjectContainer->getSessionService() #5 /www/htdocs/w0000000/shopware/engine/Shopware/Components/DependencyInjection/Container.php(253): Symfony\Component\DependencyInjection\Container->get(‘session’) #6 /www/htdocs/w0000000/shopware/engine/Shopware/Components/DependencyInjection/Container.php(188): Shopware\Components\DependencyInjection\Container->load(‘session’) #7 /www/htdocs/w0000000/shopware/engine/Shopware/Bundle/StoreFrontBundle/Service/Core/ContextService.php(187): Shopware\Components\DependencyInjection\Container->get(‘session’) #8 /www/htdocs/w0000000/shopware/engine/Shopware/Models/Shop/Shop.php(710): Shopware\Bundle\StoreFrontBundle\Service\Core\ContextService->initializeShopContext() #9 /www/htdocs/w0000000/shopware/engine/Shopware/Plugins/Default/Core/Router/Bootstrap.php(129): Shopware\Models\Shop\Shop->registerResources(Object(Shopware_Proxies_ShopwareBootstrapProxy)) #10 /www/htdocs/w0000000/shopware/engine/Library/Enlight/Event/Handler/Plugin.php(149): Shopware_Plugins_Core_Router_Bootstrap->onRouteStartup(Object(Enlight_Controller_EventArgs)) #11 /www/htdocs/w0000000/shopware/engine/Library/Enlight/Event/EventManager.php(210): Enlight_Event_Handler_Plugin->execute(Object(Enlight_Controller_EventArgs)) #12 /www/htdocs/w0000000/shopware/engine/Library/Enlight/Controller/Front.php(162): Enlight_Event_EventManager->notify(‘Enlight_Control…’, Object(Enlight_Controller_EventArgs)) #13 /www/htdocs/w0000000/shopware/engine/Shopware/Kernel.php(148): Enlight_Controller_Front->dispatch() #14 /www/htdocs/w0000000/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(492): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #15 /www/htdocs/w0000000/shopware/engine/Shopware/Components/HttpCache/AppCache.php(255): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #16 /www/htdocs/w0000000/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(449): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true) #17 /www/htdocs/w0000000/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(349): Symfony\Component\HttpKernel\HttpCache\HttpCache->fetch(Object(Symfony\Component\HttpFoundation\Request), true) #18 /www/htdocs/w0000000/shopware/engine/Shopware/Components/HttpCache/AppCache.php(178): Symfony\Component\HttpKernel\HttpCache\HttpCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true) #19 /www/htdocs/w0000000/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(213): Shopware\Components\HttpCache\AppCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true) #20 /www/htdocs/w0000000/shopware/engine/Shopware/Components/HttpCache/AppCache.php(114): Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #21 /www/htdocs/w0000000/shopware/shopware.php(101): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request)) #22 {main} Time: 2015-11-16T12:09:50.181745+0100 Channel: core request: { “uri”: “/”, “method”: “GET”, “query”: , “post”: } session: No session data available shopId: 1 shopName: Holz Frank
Ach, die nervigen ‘The session has already been started. The session id must be set first.’-Meldungen - die ignoriere ich inzwischen, und haben mit dem Memory oder Warenkorb selber wohl erstmal nichts zu tun “/www/htdocs/#######/” => sieht nacht All-Inkl. Wenn ja: Welches Paket?
Ignorieren klingt gut mach ich :thumbup: Hab bei Allinkl. das PrivatPlus Paket, hab ich gravierende Vorteile mit einem größerem Paket? Danke dir für die Antwort! Fabian
Editiere bitte mal Deinen Beitrag mit der Fehlermeldung, und mache die „w…“ Nummer unkenntlich, muss ja nicht jeder die Kennung von Deinem KAS-Login und Haupt-FTP-User kennen Welches Paket besser ist? Hängt davon ab, was für „Nachbarn“ Du auf dem Server hast. Im Moment vermute ich, dass man auf „Private Plus“ besser aufgehoben ist, als auf „business“. „PrivatePlus“ hat vielleicht eher mehr dahindümpelnde Nachbarn, als „business“. Das könnte aber auch das Problem schon sein: Hier wird die Session-ID doppelt vergeben. Aktuell habe ich die Probleme nicht mehr, aber zu Zeiten, als der Server wegen „Überlastung“ Probleme gemacht hat, hatte ich auch vermehrt die „Session“-Fehler. Möglich, dass unter Lastspitzen PHP bei All-Inkl. Session-ID doppelt generiert. *Pure Vermutun* Würde ich heute neu starten würde ich nicht mehr bei All-Inkl. Shopware installieren - alle Shared-Pakete sind zu schwach für Shopware. Dein Aufruf mit der Fehlermail war übrigens die Startseite vom Shop.
Ok vielen Dank Carsten! Solange es nur Fehlermeldungen sind ohne große Auswirkungen auf den Shop ist alles im grünen Berehc :thumbup: Allinkl Benutzerkennung habe ich überall entfernt, danke dir für die Info Grüße Fabian
Thread zerfleddern *sorry* Was ganz klar für “business” spricht, wäre das SSL-Zertifikat Ich habe nochmal gegrübelt: Es könnte auch sein, dass bei mir mit PHP 5.6.x die Session-Errors verschwunden sind. Welche PHP-Version nutzt Du für den Shop?
Habe auch 5.6.13, aber leider noch mit Session-Error. SSL wäre schon ein Argument. Aber immer langsam, nun bin ich erstmal froh das der Shop online ist und grö0tenteils Funktioniert Viele Dank für Deine viele Hilfe Carsten
Hallo, [quote=“sonic”]Wenn es nur “einer-Schritte” sind, würde ich ggf. die Dropdowns gegen Eingabefelder austauschen - HTML5 erlaubt dabei auch Ober- und Untergrenzen. Ich meine, das war kürzlich noch eine Thema im Forum - mal nach suchen :-)[/quote] [quote=“kraeft21”]Meine sogar mal ein Plugin dazu gesehen zu haben: Inputfeld zur manuellen Eingabe mit Minus und Plus-Button, so dass man die Anzahl über die Buttons oder über das Inputfeld per Tastatur erhöhen kann. Mir persönlich waren die ganzen HTML-Elemente sowieso immer ein Dorn im Auge.[/quote] diesbzgl. gibt es auch ein Shopware - Plugin: http://store.shopware.com/scha170490582 … erung.html (drittanbieter-plugins-f83/bestellmengenauswahl-uber-ein-eingabefeld-t32710.html#p142294). Die Umwandlung des Auswahlfeldes in ein Eingabefeld mit Minus-/Plus-Icons im Warenkorb steht noch auf der To-Do-Liste und wird wohl demnächst in einem Update noch nachgeliefert. Beste Grüße Sebastian