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
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an