Po přihlášení ErrorPresenter, neúplná laděnka(Tracy), routování
- kralik
- Člen | 230
Ahoj,
nyní se mi stala taková věc, kterou řeším poprvé od
používání Nette.
Jak na lokálu tak na hostingu je zcela totožný kód aplikace.
Na lokálu mi vše běží v pořádku, i když smažu obsah temp tak vše je ok.
Na hostingu po přihlášení jsem přesměrován rovnou na
ErrorPresenter.
Bohužel vůbec nedokáži určit proč tomu tak je.
Nevím zda to souvisí třeba s routováním a nějaké zakázané nastavení na hostingu?
Když totiž spustím laděnku (Tracy) tak na lokálu se mi zobrazí laděnka s pěti položkami (čas,paměť,router,sql queries,user)
Na hostingu se mi v laděnce ukáží jen první dvě položky (čas, paměť) nic víc.
Nevím zda to nějak souvisí.
Zajímavé je, že na stejném hostingu je puště další web na stejné verzi nette a to jede bez problémů.
Prakticky se toto děje vždy když se snažím přistoupi na stránku která je dostupná až po přihlášení.
PHP 5.4.24
Nette ve verzi 2.2.10
Vůbec to nechápu…
Prosím kdyby z vás někoho něco napadlo, napište.
Předem moc díky za pomoc
Editoval kralik (28. 1. 2016 13:07)
- kralik
- Člen | 230
V logu bohužel vůbec nic
vlastně pokud nechám standardní ErrorPresenter tak chyba následující
Class Tracy\ILogger needed by App\Presenters\ErrorPresenter::__construct() not
found. Check type hint and ‚use‘ statements.
ErrorPresenter
<?php
namespace App\Presenters;
use Nette;
use App\Model;
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();
// 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();
}
}
}
?>
Editoval kralik (28. 1. 2016 13:10)
- kralik
- Člen | 230
Když zadám v presenteru bez nutnosti přihlášení něco zalogovat tak se
mi to normálně do logu zapíše.
Do Logu práva jsou.
Promazání temp také nic.
Trochu mne zaráží, že na hostingu v laděnce nevidím, že jsem na presenteru SIGN a akci LOGIN.
To si myslím je divné…
Zkoušel jsem oprávnění everyone a ještě vyměnu Nette Frameworku z 2.2.10 na 2.3.2 a bohužel stav je stále stejný.
Editoval kralik (28. 1. 2016 14:54)