Podivna chyba v sablone: Fatal error: Cannot call overloaded function for non-object
- hrach
- Člen | 1838
Ahoj, jiz podruhe se nam stala podivna chyba v sablone, ktera znefunkcnila
dost zasadne web.
Zkusim sem vykopirovat patricnou cast error logu:
[2012-06-19 09-13-54] Fatal error: Cannot call overloaded function for non-object in .../_components.CommentsControl-likeLink.phtml-130e077e9e0ddc2c927976cac452ca23.php:43 @ ... @@ exception-2012-03-17-06-28-56-53583baad18046882df58629eb028ac5.html
[2012-06-19 09-14-24] PHP Warning: Parameter 2 to ¨{Ø() expected to be a reference, value given in .../_components.CommentsControl-likeLink.phtml-130e077e9e0ddc2c927976cac452ca23.php:43 @ ...
[2012-06-19 09-14-56] Fatal error: Cannot call overloaded function for non-object in .../libs/Nette/Latte/Macros/UIMacros.php:498 @ ... @@ exception-2012-03-19-06-26-15-f0368db33db04e3e1ad953944089fc74.html
Tyto tri chyby se nezavisle na sobe objevuji v error logu. A skript konci
na fatal error.
Poznatky:
- chyba s UI macros nema nis spolecneho s tou chybou v sablone, ta se deje tehdy, kdyz se nepouzije ta sablona (aspon dle url to tak vypada).
- chyba se zacne dit naprosto nezavisle na zmene kodu!!! Vime jiste, ze nikdo nikde nic nemenil.
- k oprave chyby staci smazat POUZE temp ty jedny sablony likeLink.
- mam ladenku i temp te sablony, po porovnani nove sablony se krom dvou hashu tech funkcni nic nezmenilo, zkousel sem hledat stary hash, jestli tam neni kolize, ale nic…
- ten php warning opravu ma takovy paznaky. bohuzel k warningum nejsou zadny bluescreeny, tak nic moc nevim..
Jeste cast sablony, respektive ty radky, kde by to melo padat:
41: <span<?php echo ' id="' . $_control->getSnippetId('likeLink') . '"' ?>>
42: <?php if ($_l->extends) { ob_end_clean(); return Nette\Latte\Macros\CoreMacros::includeTemplate($_l->extends, get_defined_vars(), $template)->render(); }
43: call_user_func(reset($_l->blocks['_likeLink']), $_l, $template->getParameters()) ?></span>
Moc si nedelam nadeje, ze nekdo z takovyho mala informaci bude vedet, o co go, hlavne, nesetkal se s timto nekdo?
PHP 5.3.13, nette nejaky 2.1.
- bojovyletoun
- Člen | 667
Nepoužíváš Wincache,accelerator…?? Případně načítá skript velké množstí souborů? Mě např. tohle dělá kdyby sandbox: Samozřejmě to blbne jen na vhostech se zapnutou wincache
▼Compile Error Fatal error:
Cannot inherit previously-inherited or override constant NAME_SEPARATOR from interface
Kdyby\Doctrine\Forms\IObjectContainer in ...\Kdyby-sandbox\vendor\kdyby\cms\libs\Kdyby\Components\Grinder\CollectionContainer.php
on line 26
Editoval bojovyletoun (19. 6. 2012 16:16)
- hrach
- Člen | 1838
Hm, tak to bude nejaky bug php a jeho zpracovani souboru. Aktualne se to stalo znovu (po treti) a restart apache pomohl. Sablony sem nechal stejny. Predpokladam, ze si teda php natahne soubor, nejak si ho „predzpracuje“? Nevim, kazdopadne zadny accelerator tam neni, je tam teda suhosin no… PHP 5.3.14.
- Casper
- Člen | 253
Tato chyba se mi nyní stává čím dál častěji u gridů (dělal mi to NiftyGrid a nyní i Grido), žádné jiné šablony toto nezpůsobují, takže předpokládám, že to nějak souvisí se snippety (v gridech je využívám nejvíce). Víte někdo jak toto řešit nebo co to způsobuje?
Nette 2.1.2, PHP 5.4.16, eAccelerator vypnutý
Editoval Casper (22. 4. 2014 11:51)