[TYPO3-german] Fatal error: Allowed memory size

bernd wilke t3ng at bernd-wilke.net
Thu Feb 19 15:17:01 CET 2015


Am 18.02.15 um 15:14 schrieb JCL - Johannes C. Laxander:
>
> Hallo,
>
> ich bekomme seit heute im FE beim Aufruf verschiedener Seiten diesen Fatal Error:
>
> Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 69295 bytes) in /.../typo3cms/typo3_src-6.2.5/typo3/sysext/fluid/Classes/ViewHelpers/ForViewHelper.php on line 122
>
> Das Programm ist immer ein anderes. Ich habe in php.ini memory_limit von "32M" auf "256M" gesetzt.
>
> Was genau besagt diese Fehlermeldung? Ich vermute, es hängt mit einer Exbase-Extension zusammen.  Was könnte hier die Ursache sein?

zu viele daten.
wenn die Konfiguration und das Datenvolumen unglücklich ist werden 
riesige Datenmengen geladen, die in keinen Speicher mehr passen.

Vorsicht bei:
+ sehr vielen Datensätzen, wenn bei extbase mal eben alle Datensätze 
geladen werden nur um zb. die Anzahl festzustellen.
ansatz: andere als die std funktionen benutzen, queries manuell aufbauen

+ wenn Datensätze viele Relationen haben, die evtl. auch noch alle 
nachgeladen werden sollen. insbesondere bei rekursiven Relationen könnte 
es zu eienr "Explosion" kommen. hier könnte man mit LazyLoad das ganze 
eindämmen.

da das ganz im for-VH auftritt könnte es an folgender Konstruktion liegen:

<f:for each="{records}" as="record" iteraton="iterator">
    <f:if condition="{iterator.isFirst}">
	:
	<div>erster von {records->f:count()} Datensätzen</div>
	:
    </f:if>
</f:for>
bei vielen Datensätzen ist das extrem ineffizient.

bernd
-- 
http://www.pi-phi.de/cheatsheet.html


More information about the TYPO3-german mailing list