Nette\DI\ServiceCreationException v Produkci

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

Pokud vypnu laděnku dostanu hlášku viz. níže (pokud je laděnka zaplá vše funguje ok)

Nette\DI\ServiceCreationException: Service of type App\Model\SecurityManager needed by App\Presenters\LoginPresenter::__construct() not found. Did you register it in configuration file? in /var/www/html/vendor/nette/di/src/DI/Helpers.php:107  @  http://test/login/  @@  exception--2016-01-22--10-31--7a6f898a51.html

Bootstrap.php

require __DIR__ . '/../vendor/autoload.php';

$configurator = new Nette\Configurator;

// Disable Debugger ("Laděnka")
$configurator->setDebugMode(false);
$configurator->enableDebugger(__DIR__ . '/../log');

$configurator->setTempDirectory(__DIR__ . '/../temp');

$configurator->createRobotLoader()
	->addDirectory(__DIR__)
	->register();

$configurator->addConfig(__DIR__ . '/config/config.neon');
$configurator->addConfig(__DIR__ . '/config/config.local.neon');

$container = $configurator->createContainer();

return $container;

Zkoušel jsem mít identické oba neony ale ani to nepomohlo

LoginPresenter

class LoginPresenter extends BasePresenter {

    const BAN_TIME = 15; // BAN time in minutes

    /** @var \App\Model\SecurityManager */
    private $securityManager;

    /** @var Nette\Http\Session */
    private $session;

    /** @var Nette\Http\SessionSection */
    private $sessionSection;

    public function __construct(\App\Model\SecurityManager $securityManager, Nette\Http\Session $session) {
        $this->securityManager = $securityManager;
        $this->session = $session;

        // Získáme přístup do sekce 'login_restricted':
        $this->sessionSection = $session->getSection('login_restricted');
        // Proměnná $section->login_restricted vyexpiruje při zavření prohlížeče
        $this->sessionSection->setExpiration('30 minutes', 'login_restricted');
    }
services:
        router: App\RouterFactory::createRouter
        securityManager: App\Model\SecurityManager
        authorizatorFactory: App\Model\AuthorizatorFactory
        authorizator: @authorizatorFactory::create

Editoval Joacim (22. 1. 2016 12:01)

CZechBoY
Člen | 3608
+
+1
-

Zkoušel si smazat cache?

Joacim
Člen | 229
+
0
-

CZechBoY napsal(a):

Zkoušel si smazat cache?

Ok, omlouvám se, ale Linux Admin mě nastavil špatně práva jen pro temp/ takže jsem v cache neviděl nic i když tam něco bylo. Proto jsem hledal chybu i jinde, jelikož jsem přecházel ze staré na novou verzi Nette

Editoval Joacim (22. 1. 2016 12:22)