Stránka neustále zobrazuje error 500 – tracy

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

Dobrý deň. Prešiel som všetky témy týkajúce sa zobrazovania error500 ale neúspešne. Problém je, že pokiaľ chcem mať web plne nahratý a sprístupnený všetkým užívateľom je môj bootstrap nasledovný:

$configurator = new Nette\Configurator;

//$configurator->setDebugMode('78.98.217.26'); // enable for your remote IP
$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();`


Avšak keď si dám napríklad neexistujúcu stránku nieco.sk/neexistujucapage tak mi Server Error 500 - ale nie je to ten error template ktorý je v zložke frontendModule/templates/Error/500.latte ale zrejme nejaký od tracy - obsahuje `<div id="tracy-error">Server Error

We're sorry! The server encountered an internal error and was unable to complete your request. Please try again later.

error 500</div>

Viete mi prosím niekto poradiť, prečo nefunguje zobrazovanie errorov zo zložky error?
Môj errorpresenter pre frontend module:

<?php

namespace App\FrontendModule\Presenters;

use Nette;
use App\Model;
use Tracy\ILogger;


class ErrorPresenter extends Nette\Application\UI\Presenter
{
	/** @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();
			$this->setView(in_array($code, [403, 404, 405, 410, 500]) ? $code : '4xx');

		} else {
			$this->setView('500');
			$this->logger->log($exception, ILogger::EXCEPTION);
		}

		if ($this->isAjax()) {
			$this->payload->error = TRUE;
			$this->terminate();
		}
	}

}

Ďakujem za každú rádu.

David Matějka
Moderator | 6445
+
0
-

koukni se do slozky log, budes tam mit vytvorenou ladenku

sniper1101
Člen | 21
+
0
-

Pozrel som, tam hlási:

Nette\Application\InvalidPresenterException

Cannot load presenter 'Error', class 'ErrorPresenter' was not found.

posielam môj errorPresenter v zložke FrontendModule/presenters/

<?php

namespace App\FrontendModule\Presenters;

use Nette;
use Tracy\ILogger;


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();
			$this->setView(in_array($code, [403, 404, 405, 410, 500]) ? $code : '4xx');

		} else {
			$this->setView('500');
			$this->logger->log($exception, ILogger::EXCEPTION);
		}

		if ($this->isAjax()) {
			$this->payload->error = TRUE;
			$this->terminate();
		}
	}

}
David Matějka
Moderator | 6445
+
0
-

mas error presenter v modulu Front, tak si to nastav na Front:Error

sniper1101
Člen | 21
+
0
-

Prosím ťa, čo myslíš presne nastaviť na Front:Error ?

David Matějka
Moderator | 6445
+
0
-

v sekci application errorPresenter

sniper1101
Člen | 21
+
0
-

Skúsil som, ale neúspešne. Nič sa nestalo.

//vyriešené, stačilo doplniť frontend do sekciie application.

Editoval sniper1101 (14. 11. 2015 13:14)

David Matějka
Moderator | 6445
+
0
-

a v logu neni nova chyba?

zkus smazat cache

sniper1101
Člen | 21
+
0
-

Dávid: áno mal si pravdu, bol to cache. Ešte prosím ťa otázka, pokiaľ by si chcel mať pre backendModule iné errory a teda v zložke backendmodule/templates/error ako by sa nato išlo? teraz je to predpokladám pre oba nastavené na front…