Nette error 500 po zmene jakehokoliv souboru
- radekl
- Člen | 7
Pise to toto (prestoze jsem upravil soubor UserManager.php:
[2020-03-24 07-47-59] Nette\InvalidStateException: Ambiguous class App\Model\VideoManager resolution; defined in /var/www/html/.cz/www/app/model/__VideoManager.php and in /var/www/html/.cz/www/app/model/VideoManager.php. in /var/www/html/.cz/www/vendor/nette/robot-loader/src/RobotLoader/RobotLoader.php:181 @ http://www..com/video/detail/167?do=messageBeMember @@ exception--2020-03-23--15-22--e6000e6fee.html
Editoval radekl (24. 3. 2020 10:03)
- radekl
- Člen | 7
Ten problem ma neco spolecneho se zmenami v souboru – pokud se zmeni md5sum souboru, tak to failuje, prestoze je obsah prakticky stejny (lisi se o jeden prazdny radek, nebo komentar, ale syntakticky je to spravne). Jeste jsem si vsiml, ze to psal windowsak, takze tam jsou crlf konce radku misto linuxovych.
Neni v nette neco co kontroluje konzistenci souboru? Co cache?
Editoval radekl (24. 3. 2020 10:11)
- Marek Bartoš
- Nette Blogger | 1280
Já bych té chybě zkusil věřit a nejdřív zkontroloval, zda opravdu třída VideoManager není zduplikována ve dvou souborech.
- David Matějka
- Moderator | 6445
je tam vidět, že tam jsou dva soubory – __VideoManager.php a VideoManager.php .. imho ten první bude vytvářet tvůj editor jako „zálohu“. co používáš za editor?
- radekl
- Člen | 7
Ja pouzivam vim, nicmene ty tridy tam jsou asi zduplikovane od puvodniho vyvojare:
[root@dron www]# find -ls|grep -i VideoMana
818504183 20 -rw-r--r-- d 17214 dub 22 2016 ./app/model/_VideoManager.php_
818504184 20 -rw-r--r-- 1 17215 čen 18 2017 ./app/model/__VideoManager.php
818504185 20 -rw-r--r-- 1 17215 kvě 17 2019 ./app/model/VideoManager.php
[root@dron www]#
Provozu to nevadi – aplikace bezi normalne do okamziku, nez zmenim drobne soubor – to s touhle chybovkou nema nic spolecneho, nebo se pletu? Trida ‚UserManager.php‘ zduplikovana neni:
[root@dron www]# find|grep -i UserMan
./app/model/UserManager.php
[root@dron www]#
- Marek Bartoš
- Nette Blogger | 1280
Detekovaná změna spustila robotloader, našel duplicitní soubor, vyhodil výjimku. Duplicitní třídy smaž.
- radekl
- Člen | 7
David Matějka napsal(a):
je tam vidět, že tam jsou dva soubory – __VideoManager.php a VideoManager.php .. imho ten první bude vytvářet tvůj editor jako „zálohu“. co používáš za editor?
Vydrzelo to bezet nekolik let i s duplicitnimi soubory. Dekuju za pomoc…
Editoval radekl (24. 3. 2020 12:32)