Allowed memory size

Hallo,

meine Seite ist nicht mehr erreichbar, da folgende Fehlermeldung erscheint:

Fatal error : Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in  /data/web/1/000/047/403/184249/htdocs/shop/engine/Library/Doctrine/ORM/Query/Expr/Composite.php  on line  46

Fatal error : Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in  /data/web/1/000/047/403/184249/htdocs/shop/engine/Library/Symfony/Component/HttpKernel/HttpCache/Store.php  on line  56

Ich habe per .htaccess das Limit schon auf 512 MB hochgesetzt, ohne Änderung.
Welche Lösung gibt es noch?

Gruß

 

Laß’ Dir mal mit der phpinfo()-Funktion anzeigen, was für ein Memory-Limit wirklich konfiguriert ist - möglicherweise greift Deine Änderung in der .htaccess-Datei gar nicht.

Timme Hosting - schnelles nginx-Hosting

www.timmehosting.de

Moin Talker77,

wenn du rausfinden möchtest, ob der Wert deines memory_limit wirklich 512mb beträgt, kannst du eine Datei z.b test.php im root Verzeichnis deines Shop ablegen und diesen Code einfügen:

 

";
  $a = loadmem($i);
  //echo "used memory after allocating ".$i."m is " . memory_get_usage() . ""; // 57960
  //echo "used memory after unsetting allocated memory is " . memory_get_usage() . ""; // 36744
  echo "You have allocated ". $i . "M (". memory_get_usage() . ") memory in this php script" . "";
  unset($a);
}

function loadmem($howmuchmeg) {
  $a = str_repeat("0", $howmuchmeg * 1024 * 1024); // alocating 10 chars times million chars
  return $a;
}

 

Wenn du die Datei nun aufrufst, zeigt er dir an wie viel memory_limit tatsächlich zur verfügung stehen.

Gruß

Hallo, danke erstmal für die Antworten.

@Ziney…ich habe das gemacht und es wird Folgendes ausgegeben:

You have allocated 1M (1428536) memory in this php script
You have allocated 2M (2477136) memory in this php script
You have allocated 3M (3525712) memory in this php script
You have allocated 4M (4574288) memory in this php script
You have allocated 5M (5622864) memory in this php script
You have allocated 6M (6671440) memory in this php script
You have allocated 7M (7720016) memory in this php script
You have allocated 8M (8768592) memory in this php script
You have allocated 9M (9817168) memory in this php script
You have allocated 10M (10865752) memory in this php script
You have allocated 11M (11914328) memory in this php script
You have allocated 12M (12962904) memory in this php script
You have allocated 13M (14011480) memory in this php script
You have allocated 14M (15060056) memory in this php script
You have allocated 15M (16108632) memory in this php script
You have allocated 16M (17157208) memory in this php script
You have allocated 17M (18205784) memory in this php script
You have allocated 18M (19254360) memory in this php script
You have allocated 19M (20302936) memory in this php script
You have allocated 20M (21351512) memory in this php script
You have allocated 21M (22400088) memory in this php script
You have allocated 22M (23448664) memory in this php script
You have allocated 23M (24497240) memory in this php script
You have allocated 24M (25545816) memory in this php script
You have allocated 25M (26594392) memory in this php script
You have allocated 26M (27642968) memory in this php script
You have allocated 27M (28691544) memory in this php script
You have allocated 28M (29740120) memory in this php script
You have allocated 29M (30788696) memory in this php script
You have allocated 30M (31837272) memory in this php script
You have allocated 31M (32885848) memory in this php script
You have allocated 32M (33934424) memory in this php script
You have allocated 33M (34983000) memory in this php script
You have allocated 34M (36031576) memory in this php script
You have allocated 35M (37080152) memory in this php script
You have allocated 36M (38128728) memory in this php script
You have allocated 37M (39177304) memory in this php script
You have allocated 38M (40225880) memory in this php script
You have allocated 39M (41274456) memory in this php script
You have allocated 40M (42323032) memory in this php script
You have allocated 41M (43371608) memory in this php script
You have allocated 42M (44420184) memory in this php script
You have allocated 43M (45468760) memory in this php script
You have allocated 44M (46517336) memory in this php script
You have allocated 45M (47565912) memory in this php script
You have allocated 46M (48614488) memory in this php script
You have allocated 47M (49663064) memory in this php script
You have allocated 48M (50711640) memory in this php script
You have allocated 49M (51760216) memory in this php script
You have allocated 50M (52808792) memory in this php script
You have allocated 51M (53857368) memory in this php script
You have allocated 52M (54905944) memory in this php script
You have allocated 53M (55954520) memory in this php script
You have allocated 54M (57003096) memory in this php script
You have allocated 55M (58051672) memory in this php script
You have allocated 56M (59100248) memory in this php script
You have allocated 57M (60148824) memory in this php script
You have allocated 58M (61197400) memory in this php script
You have allocated 59M (62245976) memory in this php script
You have allocated 60M (63294552) memory in this php script
You have allocated 61M (64343128) memory in this php script
You have allocated 62M (65391704) memory in this php script
You have allocated 63M (66440280) memory in this php script
You have allocated 64M (67488856) memory in this php script
You have allocated 65M (68537432) memory in this php script
You have allocated 66M (69586008) memory in this php script
You have allocated 67M (70634584) memory in this php script
You have allocated 68M (71683160) memory in this php script
You have allocated 69M (72731736) memory in this php script
You have allocated 70M (73780312) memory in this php script
You have allocated 71M (74828888) memory in this php script
You have allocated 72M (75877464) memory in this php script
You have allocated 73M (76926040) memory in this php script
You have allocated 74M (77974616) memory in this php script
You have allocated 75M (79023192) memory in this php script
You have allocated 76M (80071768) memory in this php script
You have allocated 77M (81120344) memory in this php script
You have allocated 78M (82168920) memory in this php script
You have allocated 79M (83217496) memory in this php script
You have allocated 80M (84266072) memory in this php script
You have allocated 81M (85314648) memory in this php script
You have allocated 82M (86363224) memory in this php script
You have allocated 83M (87411800) memory in this php script
You have allocated 84M (88460376) memory in this php script
You have allocated 85M (89508952) memory in this php script
You have allocated 86M (90557528) memory in this php script
You have allocated 87M (91606104) memory in this php script
You have allocated 88M (92654680) memory in this php script
You have allocated 89M (93703256) memory in this php script
You have allocated 90M (94751832) memory in this php script
You have allocated 91M (95800408) memory in this php script
You have allocated 92M (96848984) memory in this php script
You have allocated 93M (97897560) memory in this php script
You have allocated 94M (98946136) memory in this php script
You have allocated 95M (99994712) memory in this php script
You have allocated 96M (101043288) memory in this php script
You have allocated 97M (102091864) memory in this php script
You have allocated 98M (103140440) memory in this php script
You have allocated 99M (104189016) memory in this php script
You have allocated 100M (105237592) memory in this php script
You have allocated 101M (106286168) memory in this php script
You have allocated 102M (107334744) memory in this php script
You have allocated 103M (108383320) memory in this php script
You have allocated 104M (109431896) memory in this php script
You have allocated 105M (110480472) memory in this php script
You have allocated 106M (111529048) memory in this php script
You have allocated 107M (112577624) memory in this php script
You have allocated 108M (113626200) memory in this php script
You have allocated 109M (114674776) memory in this php script
You have allocated 110M (115723352) memory in this php script
You have allocated 111M (116771928) memory in this php script
You have allocated 112M (117820504) memory in this php script
You have allocated 113M (118869080) memory in this php script
You have allocated 114M (119917656) memory in this php script
You have allocated 115M (120966232) memory in this php script
You have allocated 116M (122014808) memory in this php script
You have allocated 117M (123063384) memory in this php script
You have allocated 118M (124111960) memory in this php script
You have allocated 119M (125160536) memory in this php script
You have allocated 120M (126209112) memory in this php script
You have allocated 121M (127257688) memory in this php script
You have allocated 122M (128306264) memory in this php script
You have allocated 123M (129354840) memory in this php script
You have allocated 124M (130403416) memory in this php script
You have allocated 125M (131451992) memory in this php script

Was soll denn jetzt diese Zahlen-Orgie aussagen? Warum benutzt du nicht wie oben vorgeschlagen:

Hier wird dir angezeigt, ob dein PHP deine Einstellungen aus der .htaccess übernommen hat.

Okay…128MB

@R4M‍ die ‘‘Zahlen-orgie’’ zeigt einem den vorhandenen RAM-Speicher an. Die phpinfo liest nur aus der php.ini die Infos raus.
Er könnte dort auch 1024mb eintragen und Shopware bzw. die phpinfo würde das auch anzeigen.

@Talker77‍ ich würde dir raten die Serverseitigen-Einstellungen immer in der php.ini durchzuführen. Die findest du in der Regel auf dem Server unter etc/php/php.ini

 

Gruß

Eventuell mal beim Hoster nachfragen. Nicht überall kann man problemlso mal eben in der php.ini etwas ändern, zumal der Pfad bei unterschiedlichen PHP-Versionen auch variieren kann. Vielleicht ist aber auch nur der Eintrag in der .htaccess falsch geschrieben. Die meisten guten Hoster beiten dazu eine Hilfe an.

Was der Zahlen-Salat aussagen soll weis ich immer nicht. Die Fehlermeldung ganz ohne zeigt genau an, wo das Ende erreicht war. phpinfo() zeigt an, was verfügbar ist. Für Shopware wird laut Empfehlen mind. 256MB erwartet. Dazu gibt es auch eine nette Übersicht im Backend und ist zudem Online zum nachlesen.

Fazit:

memory_limit anpassen oder anpassen lassen.

Hallo,

der Hoster sagt, es wären 512 MB eingestellt, die Seite verbraucht aber mehr. Was kann ich noch tun? Kann es am Script liegen?

Kommst du in das Backend rein? Wenn ja, was sagt denn dort die Systeminfo?

Kann es am Script liegen?

Könnte ein Plugin versursachen. Aber so pauschal via Forum kann man das nicht beurteilen. Sofern zugriff auf das Backend besteht vielleicht mal testweise die Plugins deaktivieren. Ansonsten Speicher auf 1GB erhöhen.

Zugriff auf´s Backend habe ich nicht. Da kommt diese Fehlermeldung…

 

Fatal error : Uncaught SmartyException: Unable to load template snippet ‘frontend/error/index.tpl’ in /data/web/1/000/047/403/184249/htdocs/shop/engine/Library/Smarty/sysplugins/smarty_internal_templatebase.php:127 Stack trace: #0 /data/web/1/000/047/403/184249/htdocs/shop/engine/Library/Enlight/View/Default.php(273): Smarty_Internal_TemplateBase->fetch() #1 /data/web/1/000/047/403/184249/htdocs/shop/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(212): Enlight_View_Default->render(Object(Enlight_Template_Default)) #2 /data/web/1/000/047/403/184249/htdocs/shop/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(238): Enlight_Controller_Plugins_ViewRenderer_Bootstrap->renderTemplate(Object(Enlight_Template_Default)) #3 /data/web/1/000/047/403/184249/htdocs/shop/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(136): Enlight_Controller_Plugins_ViewRenderer_Bootstrap->render() #4 /data/web/1/000/047/403/184249/htdocs/shop/engine/Library/Enlight/Event/Handler/Default.php in  /data/web/1/000/047/403/184249/htdocs/shop/engine/Library/Smarty/sysplugins/smarty_internal_templatebase.php  on line  127
503 Service Unavailable

Ohje, was habt ihr mit dem Shop gemacht? :slight_smile:
 

Unable to load template snippet ‚frontend/error/index.tpl‘

 Nun mit FTP kannst du ja überprüfen ob diese Datei an dieser Stelle vorhanden ist.

Also…ich habe vor 3 Jahren diesen Shop überarbeitet, ohne allerdings an das Script von Shopware ran zu gehen.

Der Kunde hat mich nun am Freitag angerufen, ich solle mal nach der Seite schauen. Was da passiert ist, weiß ich nicht…

 

Wo sollte ich denn diese Ordner finden frontend/error/?

Hm, also erst mal schauen das das Backend wieder geht. Wobei mich das wundert, so eine Fehlermdung kommt nicht von alleine.

Die besagte Datei liegt hier:

/themes/Frontend/Bare/frontend/error/index.tpl

Als Hilfe:

Okay…wir sind etwas weiter!

Es haben die Ordner Media und Themes gefehlt…auf der Startseite selbst ist immernoch der Fehler…Backend habe ich Zugriff.

Was muss ich jetzt tun? :wink:

Also ich habe jetzt diese Meldung:

 

Fatal error : Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in  /data/web/1/000/047/403/184249/htdocs/shop/engine/Library/Doctrine/ORM/Query/Expr/Composite.php  on line  46

Fatal error : Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in  /data/web/1/000/047/403/184249/htdocs/shop/engine/Library/Symfony/Component/HttpKernel/HttpCache/Store.php  on line  56

Wie können denn Ordner fehlen? Für mich nun völlig unklar. Nun ja, der Speicher muss wohl dennoch erhöht werden.

Ich weiß es nicht. Habe an der Seite vor 3 Jahren gearbeitet und da war alles okay. Jetzt haben 2 komplette Ordner gefehlt. 

Der Hoster meint, selbst wenn er den Speicher hochsetzt, wird die Seite nicht laufen. Kann ich Script-seitig noch irgendwas machen? Wie egsagt, auf´s Backend kann ich jetzt wieder zugreifen.

Der Hoster meint, selbst wenn er den Speicher hochsetzt, wird die Seite nicht laufen

Da scheint der Hoster sich ja bestens auszukennen. Das hätte er bei mir nur einmal gesagt. Was für ein Hoster ist das denn? Ist der Hoster überhaupt für Shopware geeignet? Sollte das Strato sein, dann würde ich über einen Wechsel nachdenken!
 

Kann ich Script-seitig noch irgendwas machen?

Soweit ich richtig verstanden habe wird noch immer 128MB angezeigt? Wenn 512MB laut Hoster eingestellt sind, dann kannst du das auch im Backend überperüfen:
Einstellungen -> Systeminfo -> Zeile memory_limit
Wenn dort immer noch 128MB steht, dann sind es auch nur 128MB.

Weiterhin sei erwähnt, dass niemand hier im Forum dein Shop kennt. Weder die Version noch der aktuelle Stand von Plugins oder sonstiges. Ich würde erstmal den Shop auf aktuellen Stand bringen, also per Backend Updaten. Womöglich fehlen noch mehr Dateien. Beim Update auch an mögliche Plugins denken - vorher prüfen ob kompatibel zur SW Version. Und wenn zusätzlich noch ein gekauftes Theme im Spiel ist, dies auch überprüfen. Auch mal den Cache-Ordner komplett löschen.

Ein normaler einfacher Shop sollte mit 512MB laufen. Natürlich ist das alles vom Umfang (Plugins, Anzahl Artikel, Anzahl,Varianten, Anzahl Bilder, PHP- und MySQL-Einstellungen) abhängig. Es müsste auch mal geschaut werden, an welchen Stellen die Fehlermeldung erscheint. Ist das generell der Fall oder nur auf bestimmten Seiten.

Fazit

Das Speicher-Problem muss geklärt werden.

Das Memory Limit vom Hoster ist noc hnicht korrekt gesetzt - rechne dir die Bytes mal um, das sind etwas mehr als 130MB. Shopware benötigt aber mindestens 256MB - ergo kann hier nur der Hoster die nötigen Voraussetzungen schaffen :slight_smile:

LG Andre