PHP 5.3 se jmenými prostory

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
joska
Člen | 20
+
0
-

Přepisuji aplikaci na PHP 5.3 a narazil jsem na drobný problém. Na localhostu vše běhá jak má, ale při spuštění na produkčním serveru vypisuje chybu:

Fatal error: Interface ‚Nette\IServiceLocator‘ not found in **/libs/Nette/Environment/ServiceLocator.php on line 24

Nevím, jestli konceptu namespace rozumím dobře, ale jak ServiceLocator.php tak rozhraní IServiceLocator.php mají deklarováno namespace Nette; use Nette;

Poradíte prosím někdo, kde se stala chybka?

h4kuna
Backer | 740
+
0
-

Předpokládám, že to děláš pro Nettě 0.9.x u toho mě jedině napadá, že by to bylo špatně načtené, smázni temp.

A pokud Nette 2.0 tak tam ServiceLocator není, opět smázni temp.

Jinak fakt nevím.

Verzi si zjistíš dump(\Nette\Framework::VERSION);

Editoval matata (4. 2. 2011 23:56)

joska
Člen | 20
+
0
-

Přesně tak, je to verze 0.9.6. Temp to ale není, ten je právě promazaný..

h4kuna
Backer | 740
+
0
-

Laděnka ti nenapoví, kdy nastane chyba, pomocí trasování? Je hodně divný pač nette samo sebe by mělo v pohodě načítat. Zkoušel jsi stáhnout aktuálnější 0.9.7? Není možný že jsi smíchal dvě verze do sebe?

joska
Člen | 20
+
0
-

Tak vyřešeno. Problémů bylo několik. Špatná verze Nette (měl jsem 0.9.7 updatoval jsem na 2.0 a upravil aplikaci) a s novou verzí nette a dibi pak bylo potřeba mírně upravit připojení k databázi v modelu. Díky za rady!