Latte template rendering vyhazuje: filemtime(): stat failed for temp/cache/latte/
- mkoula
- Backer | 57
Ahoj,
pokud mám u tracy v configu zapnuté scream: true
, tak mi to
velmi často vyhazuje chybu z šablony filemtime() ala:
filemtime(): stat failed for temp/cache/latte/presenters-templates-paginator.latte--ab1804fad9.php
Je tohle normální chování? Co to může způsobovat? Máte nějaké řešení? Něco v konfiguraci?
Editoval mkoula (13. 8. 2019 18:39)
- Jan Tvrdík
- Nette guru | 2595
Pokud se to děje zhruba 1× pro každou šablonu po každém deployi, tak to je normální. DI container bude dělat to samé.
- Jan Tvrdík
- Nette guru | 2595
Děje se to proto, že deployuješ aplikaci, která nemá dopředu zkompilované šablony, takže se kompilují až za běhu. Většinou to ničemu nevadí, ale pokud máš web s hodně šablonami nebo s větší návštěvností, tak je lepší to zkompilovat předem (tzv. warmup). Např. Contributte Console Extra na to má command.
- mkoula
- Backer | 57
Přemýšlel jsem jestli to nedělá náhodou to, že to běží na dvou
server instancích a sdílí společnou cache v redisu, ale trošku jsem si
s tím hrál a dostal jsem se do stavu, že když v configu u tracy zapnu
scream: true
, mám prázdný cache/latte
adresář,
tak nejsem schopen vygenerovat ani přes návštěvu webu, ani přes Console
Extra, kterou mám jedinou šablonu a pokaždné to skočí na Exception.
Jakmile dam scream: false
, tak už vše funguje, ale i tak
přemýšlím, zda-li to je čitelné chování…
Editoval mkoula (14. 8. 2019 14:47)
- David Grudl
- Nette Core | 8218
Smysl scream: true
je v odhalování konkrétní skryté chyby,
zapínat jej jindy nemá smysl. Aplikace v PHP běžně vyhazují spousty
warningů a framework s tím počítá.