Rozchození custom error stránek na produkci
- adam_frajer
- Člen | 16
Zdravím, snažím se rozchodit custom error stránky, ale na produkci mě to stále háže na defaultní error stránku.
common.neon mám nastavený takto:
errorPresenter:
5xx: Error5xx
4xx: Error4xx
application:
mapping:
*: *Module\*Presenter
Error: app\UI\Error\*Presenter
Jde mi hlavně o 500 a tu mám v uloženou v app/UI/Error/Error5xx/Error5xxPresenter.php
<?php
declare(strict_types=1);
use Nette;
use Nette\Application\Responses;
use Nette\Http;
use Tracy\ILogger;
/**
* Handles uncaught exceptions and errors, and logs them.
*/
final class Error5xxPresenter implements Nette\Application\IPresenter
{
public function __construct(
private ILogger $logger,
) {
}
public function run(Nette\Application\Request $request): Nette\Application\Response
{
// Log the exception
$exception = $request->getParameter('exception');
$this->logger->log($exception, ILogger::EXCEPTION);
// Display a generic error message to the user
return new Responses\CallbackResponse(function (Http\IRequest $httpRequest, Http\IResponse $httpResponse): void {
if (preg_match('#^text/html(?:;|$)#', (string) $httpResponse->getHeader('Content-Type'))) {
require __DIR__ . '/500.phtml';
}
});
}
}
Co mi přijde zvláštní, je že na locale mi to má custom error stránka normálně funguje, ale když to stejným způsobem nahraju na produkci, tak mě to stále háže na tu defaultní :-(.
Předpokládám, že problém bude v tom, že v Error5xxPresenter.php nemá
žádný namespace. Poradíte mi prosím, jaký namespace bych tam měl
napsat?
Případně kde jsem mohl udělat chybu?
- adam_frajer
- Člen | 16
Zkusil jsem, ale jak na produkci tak na locale mě to stále hází na tu defaultní…