BadRequestException #404 chyba
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- shificz
- Člen | 15
Dobrý den,
mám otázku při zapojení stránky 404 mi web hází chybu :
Nette\FileNotFoundException
File ‚C:\xampp\htdocs\minnesota\app/config.neon‘ is missing or is not readable.
bootstrap.php
<?php
require __DIR__ . '/../vendor/autoload.php';
$configurator = new Nette\Configurator;
$configurator->setDebugMode(TRUE); // debug mode MUST NOT be enabled on production server
$configurator->enableDebugger(__DIR__ . '/../log');
$configurator->setTempDirectory(__DIR__ . '/../temp');
$configurator->createRobotLoader()
->addDirectory(__DIR__)
->addDirectory(__DIR__ . '/../libs')
->register();
$configurator->addConfig(__DIR__ . '/config/config.neon');
//$configurator->addConfig(__DIR__ . '/config/config.local.neon');
$container = $configurator->createContainer();
return $container;
ErrorPresenter.php
<?php
namespace App\Presenters;
use Nette,
App\Model,
Nette\Diagnostics\Debugger;
/**
* Error presenter.
*/
class ErrorPresenter extends BasePresenter
{
/**
* @param Exception
* @return void
*/
public function renderDefault($exception)
{
if ($this->isAjax()) { // AJAX request? Note this error in payload.
$this->payload->error = TRUE;
$this->terminate();
} elseif ($exception instanceof \Nette\Application\BadRequestException) {
$code = $exception->getCode();
//var_dump($code);
// 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
Debugger::log("HTTP code $code: {$exception->getMessage()} in {$exception->getFile()}:{$exception->getLine()}", 'access');
} else {
$this->setView('500'); // load template 500.latte
Debugger::log($exception, Debugger::ERROR); // and log exception
}
}
}
config
nette:
application:
errorPresenter: Front:Error
- Etch
- Člen | 403
No ale otázka zněla, jestli existuje daný soubor tedy
C:\xampp\htdocs\minnesota\app/config.neon
??
Ale popravdě už při přečtení těchto dvou řádků:
File ‘C:\xampp\htdocs\minnesota\app/config.neon’ is missing or is not readable.
a
$configurator->addConfig(__DIR__ . '/config/config.neon');
mi něco krapet nehraje.
- Etch
- Člen | 403
No jenže ta chyba říká něco jiného. Tohle se tváří, jak kdyby si měl v bootstrapu (nebo to někde volal)
$configurator->addConfig(__DIR__ . '/config.neon');
a ne jak uvádíš
$configurator->addConfig(__DIR__ . '/config/config.neon');
(nedovedu si představit, že by jakékoliv nastavení dokázalo odpárat část hard coded cesty k souboru)
Editoval Etch (30. 11. 2014 23:31)