Gigaserver – Call to undefined method Nette\DI\ServiceDefinition::setAutowired()

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

Poradí někdo? Já už fakt nevím…

app v nette, na lokálu jede, na wedosu jede, na VPS jede. Na gigaserveru nejdede s chybou:

Nette\MemberAccessException
Call to undefined method Nette\DI\ServiceDefinition::setAutowired()

vyhodí se to hned v bootstrapu na

$container = $configurator->createContainer();

(temp/log zapisovatelné, temp smazané)

Jan Tvrdík
Nette guru | 2595
+
+2
-

Je ta opcode cache, která maže dokumentační komentáře. Použij Nette 2.3 nebo napiš na podporu hostingu, že potřebuješ nemazat dokumentační komentáře.

David Grudl
Nette Core | 8228
+
+4
-

Na Nette 2.3 to zřejmě skončí jen srozumitelnější výjimkou You have to enable phpDoc comments in opcode cache.

neznamy_uzivatel
Člen | 115
+
0
-

ok, díky. Napsal jsem na hosting, snad to upraví.

Jan Tvrdík
Nette guru | 2595
+
0
-

@DavidGrudl Jsem myslel, že Nette 2.3 už interně magické metody nepoužívá.

enumag
Člen | 2118
+
0
-

@JanTvrdík To sice ne ale stejně čte return anotace.

tomsvo
Člen | 1
+
0
-

Taky se mi zobrazovala pouze hláška You have to enable phpDoc comments in opcode cache vyhozená hned v bootstrap.php.
Situaci jsem vyřešil tak, že jsem do souboru .htaccess v kořenovém adresáři hostingu přidal řádky, kterými jsem vypnul mazání dokumentačních komentářů v OPcache:

php_flag opcache.save_comments true
php_flag opcache.load_comments true

Alternativně by šlo ještě vypnout celou OPcache, což si ale nemyslím, že je dobré

php_flag opcache.enable false

"Dokumentace k tomuto parametru: ":http://php.net/…guration.php#…