Hallo@all,
da mein Typo3-Projekt soweit gut läuft, wollte ich nun mal mit DAM anfangen ... und stoße nur auf Probleme. Leider finde ich so keine Lösung, weder per google, hier im Forum noch unter bugs.TYPO3.org (wobei hier die Liste arg groß ist).
Mal einzeln aufgezählt:
1. Media -> Datei:
Wenn ich hier einen Aufruf starte und einen Ordner anklicke erscheint erst mal nichts. Dafür im Apache-Error-Log:
Allowed memory size of 67108864 bytes exha
usted (tried to allocate 3145728 bytes) in <path>/typo3conf/ext/dam/lib/cl
ass.tx_dam_guirenderlist.php on line 124
Gesetzt sind 64M in der php.ini als auch in der localconf.php in "setMemoryLimit".
Erst wenn ich bis auf 160M hochschraube erscheint diese Meldung nicht. Dafür dann:
Premature end of script headers: index.php, referer: <path>/typo3/alt_menu.php
2. Unter Media -> Liste -> Liste wird mir nur 1 Eintrag aufgelistet (im Header steht aber, er hat 36 Datensätze gefunden). Gleichzeitig erscheinen im Apache log diverse Meldungen a la
mysql_free_result(): 93 is not a valid MySQL r
esult resource in <path>/typo3_src-4.1.3/t3lib/class.t3lib_db.php on line 823
Gibt es zu diesen Fehlern Patches oder Workarounds oder stelle ich mich nur zu doof an und eigentlich sollte sich das mit einer simplen Konfig lösen lassen?
Ach ja, eingesetzte Versionen:
Danke schon mal.
Andreas
Hi
Der Speicher sollte allemal reichen.
Probier mal die Version 5703 von Netcreators
http://www.netcreators.com/development/dam/
Premature end of script headers: index.php, referer: <path>/typo3/alt_menu.php
Das sieht nach zerschossenen Zeilenenden aus > Leerzeilen nach php Ende.
Ist das ein Win oder Tux System?[/quote]
Hallo!!
Hat leider nichts gebracht, wobei ich mir auch nicht sicher bin, ob ich die Version korrekt ersetzt habe.
Letztendlich habe ich das Verzeichnis "dam" ersetzt und die cached_localconf... Files gelöscht.
Resultat: Ich brauche den Speicher nur noch auf 128M hochschrauen. Danach erscheint aber nach wie vor
Premature end of script headers: index.php, referer: <path>/typo3/alt_menu.php
Unter 128 wie gehabt.
landschaf schrieb
Das sieht nach zerschossenen Zeilenenden aus > Leerzeilen nach php Ende.
Ist das ein Win oder Tux System?
[/quote]
Ist ein TUX (Debian Etch) mit selbst übersetztem aktuellen Apache2 & PHP5. PHP läuft als cgi über mod_fcgid (auch aktuelle Version).
Danke schon mal für Deine Hilfe 🙂
Was steht denn im Extensionmanager?
Sollte 1.0.100 sein.
Ist ein TUX (Debian Etch) mit selbst übersetztem aktuellen Apache2 & PHP5. PHP läuft als cgi über mod_fcgid (auch aktuelle Version).
Ohne deine kenntnisse in Zweifel zu ziehen, befürchte ich eher das der Wurm da liegt. Schau mal mit "top" was den Speicher und vermutlich auch CPU Last zieht.
Ich habe Dam in einigen Projekten ohne große Probleme am laufen.
OK, Problem Nr. 1 scheint gelöst 🙂 .
Beide Teilprobleme ("Allowed memory size" und "Premature end of script headers") hängen zusammen mit der Datei typo3conf/ext/dam/lib/class.tx_dam_guirenderlist.php und zwar Zeile 127
if (is_array($funcDef)) {
$obj = $funcDef[0]; // HIER IST DIE BESAGTE ZEILE 127
$func = $funcDef[1];
if (!is_object($obj)) {
$obj = NULL;
}
} else {
$obj = NULL;
$func = $funcDef;
}
Obwohl im konkreten Fall $funcDef ein Array ist und $funcDef[0] eine Referenz eines Objektes ist, hilf merkwürdigerweise nur eine erneute Referenzierung.
$obj = &$funcDef[0];
Jetzt klappt es auch mit einem memory_limit von 64M.
Naja, ok. Das war Problem-Nummer 1 ... mache ich mich mal an die Nummer 2 🙂
Andreas
So, auch das zweite Problem ist quasi gelöst, auch wenn es nicht die feine englische Art ist (hab nur keine Lust mehr weiter in dem DAM Code zu wühlen):
In der Übersicht "Media->Liste->Liste" wird mir auch stehts nur ein Bild angezeigt (das hatte ich nicht erwähnt). Beide Probleme hängen zwangsläufig zusammen.
In der Datei "typo3conf/ext/dam/lib/class.tx_dam_iterator_db.php" Zeile 127 steht der destructor der dort definierten Klasse. Dieser hat (sinnvollerweise) die Aufgabe die SQL Result-Resource wieder frei zu geben. Nur macht DAM das bereits nach dem ersten eingelesenen Element, weshalb schon bei dem zweiten eben diese Resource ungültig ist.
Ich habe mal dieses Freigeben auskommentiert, da ohnehin nach Beendigung des Scripts sämtliche Resourcen freigegeben werden.
Damit sind dann die Fehlermeldungen weg und mir werden alle Elemente des Ordners entsprechend der Filter angezeigt.
Danke fürs zuhören 😉
Andreas