Laděnka a output buffering

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
jtousek
Člen | 951
+
0
-

Zdravím,

narazil jsem na problém s laděnkou. Když použiju output buffering, např. $template->__toString(), a poté vyhodím výjimku, laděnka není schopná uložit html soubor s kompletním reportem. Sice jej vytvoří, ale zůstane prázdný. Problém je zřejmě v opakovaném použití OB. Když výjimku vyhodim někdy předtím, laděnka vše v pořádku uloží. Setkal se s tím již někdo?

PHP: 5.3.1 / PHP 5.3.2-dev (testováno na obou se stejným výsledkem)

Nette: 0.9.2 pro PHP 5.3, revize b9fd602

//EDIT: opakované použití OB funguje, blbne to jen v případě použití metody __toString() u šablony

//EDIT2: S šablonou to nemá nic společného, OB funguje i po tom opakovaně, tedy až do chvíle, kdy laděnka zavolá self::_paintBlueScreen($exception); a tím require __DIR__ . '/Debug.templates/bluescreen.phtml';. Tenhle skript se už nevykoná.

//EDIT3: Problém je, když při opakovaném OB je potřeba více než 4KB – asi to bude nějaká direktiva, jen nevím, která.

//EDIT4: NAkonec to byl nedostatek RAMky, stačilo navýšit memory_limit.

Editoval jtousek (22. 12. 2009 13:23)

PetrP
Člen | 587
+
0
-

Tohle je občas problém, když aplikace vytuhne na memory limitu, tak se nedokáže zalogovat chyba (jen se vytvoří prázdný soubor) a ani se nepošle email. Nedalo by se to nějak vyřešit?