Ztráta obsahu bloku s velikostí nad 256kB

- Myiyk
 - Člen | 321
 
Ahoj,
mám šablonu s výpisem položek. Těch položek je 494. Když si omezím
výpis na 300, tak to funguje. V moment kdy změním omezení na 500. Tak se
obsah celého bloku ztratí.
Jedná se o blok content, tudíž zůstane jen šablona stránky a obsah tam
není žádný.
Zkoušel jsem mazat cache. Nedostávám žádnou chybu.
Využití RAM je 17.91MB, limit je 128MB.
Pomocí kódu {dump ob_get_length()} jsem zjistil že blok má
délku 263224 znaků.
Tak mě napadlo, že tam je někde nějaký limit, že se nevypisují bloky nad 256k znaků. Ten limit bude nejspíš zakopaný někde v output buffer PHP.
Napadá mě možnost udělat stránkování. Šlo by ale vypsat všechny položky najednou?
Web jede na webhostingu od wedos. PHP 5.6 Nette 2.3.4.

- Myiyk
 - Člen | 321
 
Našel jsem přesnou hranici kdy to funguje a kdy ne.
celý kód je na jednom řádku
{block content}{for $i=1;$i<$_GET['limit'];$i+=2}a {/for}{/block}
198 863 funguje
198 864 nefunguje
Tím jsem si potvrdil, že to nefunguje, protože blok obsahuje příliš mnoho znaků.
Prosím o radu, co v konfiguraci přenastavit, abych ten limit zvýšil alespoň 10×
Editoval Myiyk (22. 8. 2015 0:32)

- Jan Tvrdík
 - Nette guru | 2595
 
To je divné, AFAIK za normálních okolností Latte vůbec output buffering
nepoužívá. Zapínáš to nějak explicitně? Renderuješ tu šablonu do
stringu? Používáš {capture}?

- Myiyk
 - Člen | 321
 
Našel jsem funkci, která to omezuje. Je to v vendor/latte/latte/src/Latte/Runtime/Filters.php, funkce strip
Standartní podoba je
	public static function strip($s)
	{
		return preg_replace_callback(
			'#(</textarea|</pre|</script|^).*?(?=<textarea|<pre|<script|\z)#si',
			function ($m) {
				return trim(preg_replace('#[ \t\r\n]+#', ' ', $m[0]));
			},
			$s
		);
	}
Upravil jsem to na
	public static function strip($s)
	{
		return $s;
	}
A funguje to.

- Myiyk
 - Člen | 321
 
V případě, když tam je hodně dat, tak ta funkce vrací
NULL, což dle dokumentace znamená error.

- norbe
 - Backer | 408
 
Problém je s nastavením pcre.backtrace_limit, viz https://www.drupal.org/node/1840858