Unable to set ‘session.save_path’ na produkci

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

Ahoj, právě jsem nasadil se web na produkční server a když chci přistoupit k administraci (example.cz/admin) laděnka mi vyhodí chybu: Unable to set ‚session.save_path‘ to value ‚www/subdom/example/App/../temp/sessions‘ when session has been started by session.auto_start or session_start().

Session sion nastavuji v configu následujícím způsobem.

session:
	debugger: true
	expiration: 14 days
	savePath: "%tempDir%/sessions"
	autoStart: smart

Poradil by mi prosím někdo jak problém vyřešit? Děkuji moc.

David Matějka
Moderator | 6445
+
0
-

nemas zapnute session.auto_start? http://php.net/…guration.php#…

gonner47
Člen | 27
+
0
-

session.auto_start zapnuté mám to jsem zkoušel jako první nastavit v administraci hostingu. Ověřil jsem si to i v phpinfo() a vše je ok.

David Matějka
Moderator | 6445
+
0
-

hm, to ma byt vypnute :)

gonner47
Člen | 27
+
0
-

Diky, Ještě by jsem prosím tě potřeboval poradit s jednou věcí když na produkčním serveru vypnu laděnku do tanu Error 500 a v laděnce dostanu chybu: Cannot load presenter ‚Error‘, class ‚App\Presenters\ErrorPresenter‘ was not found. Aplikaci mám rozdělenou do dvou modulu.
A configu mám nastaveno:

application:
	errorPresenter: Error
	mapping:
		*: App\Presenters\*Module\*Presenter

a ErrorPresenter vypadá následovně:

class ErrorPresenter extends BasePresenter
{

	/** @var ILogger */
	private $logger;



	public function __construct(ILogger $logger)
	{
		$this->logger = $logger;
	}



	/**
	 * @param  Exception
	 * @return void
	 */
	public function renderDefault($exception)
	{
		if ($exception instanceof Nette\Application\BadRequestException) {
			$code = $exception->getCode();
			// load template 403.latte or 404.latte or ... 4xx.latte
			$this->setView(in_array($code, array(403, 404, 405, 410, 500)) ? $code : '4xx');
			// log to access.log
			$this->logger->log("HTTP code $code: {$exception->getMessage()} in {$exception->getFile()}:{$exception->getLine()}",
				'access');

		} else {
			$this->setView('500'); // load template 500.latte
			$this->logger->log($exception, ILogger::EXCEPTION); // and log exception
		}

		if ($this->isAjax()) { // AJAX request? Note this error in payload.
			$this->payload->error = TRUE;
			$this->terminate();
		}
	}

}

Díky moc za radu.