Rozchození custom error stránek na produkci

adam_frajer
Člen | 16
+
0
-

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?

MajklNajt
Člen | 501
+
0
-

Ten namespace by mal byť taký, ako si uviedol v mappingu, čiže app\UI\Error

adam_frajer
Člen | 16
+
0
-

Zkusil jsem, ale jak na produkci tak na locale mě to stále hází na tu defaultní…

NouF
Člen | 68
+
0
-

Nemáš namespace v tom error presenteru.

David Grudl
Nette Core | 8239
+
+1
-

To co hledáš je catchExceptions https://doc.nette.org/…onfiguration