Problém nette 2.0-dev pro PHP 5.2 na hostingu s PHP 5.4.3
- forkman
- Člen | 72
Ahoj, teď mi upgradovali hosting z PHP 5.2.x na PHP 5.4.3 a nějak se mi nedaří tam rozjet původní aplikaci. Hází to úplně strange errors… S min verzí to hlásí:
PHP Fatal error: Cannot redeclare class CallbackFilterIterator in /usr/home/rcd/libs/Nette/nette.min.php on line 4140
Když použiju stejnou verzi, ale plnou, dostávám úplně jinou chybu:
PHP Fatal error: Call to undefined method SplFileInfo::isDot() in /usr/home/rcd/libs/Nette/Full/Utils/Finder.php(248) : runtime-created function on line 2
Ještě dodám, že se jedná o verzi 2.0-dev released on 2011–06–03, až do upgradu všechno makalo bez problémů a nerad bych to komplet překopával :-)
- jtousek
- Člen | 951
CallbackFilterIterator je třída které je nová v PHP 5.4. Pokud tehdejší Nette obsahuje třídu s tímto názvem, tak to samozřejmě způsobí chybu.
To druhé je zřejmě chyba Finderu. Očekává že nějaká proměnná bude objekt třídy DirectoryIterator a místo toho jde o objekt třídy SplFileInfo. Nedávno se tu objevil podobný problém kde opět byl objekt typu SplFileInfo ale očekáván byl RecursiveDirectoryIterator. Zda to je opravené netuším, Finder nepoužívám takže jsem to víc nesledoval.