netlogix / nxerrorhandler
Error handler with static pages for TYPO3
Installs: 1 457
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 4
Forks: 0
Open Issues: 0
Type:typo3-cms-extension
Requires
- php: ^7.4 || ^8.0 || ^8.1
- typo3/cms-core: ^10.4 || ^11.5
- typo3/cms-extbase: ^10.4 || ^11.5
- typo3/cms-frontend: ^10.4 || ^11.5
Requires (Dev)
- ext-sqlite3: *
- nimut/phpunit-merger: ^1.1
- nimut/testing-framework: ^6.0
- phpunit/phpcov: ^8.2
Suggests
- netlogix/nxsentry: Send errors and exceptions to sentry
README
Improves error handling in TYPO3. Can send exceptions by mail and uses statically rendered error documents for output to reduce strain on the server.
This extension is a work in progress.
Usage
Add this to your LocalConfiguration.php
return [ 'EXTENSIONS' => [ 'nxerrorhandler' => [ 'exceptionHandlerComponents' => [ \Netlogix\Nxerrorhandler\ErrorHandler\Component\ExtbaseArgumentsToBadRequestComponent::class, \Netlogix\Nxerrorhandler\ErrorHandler\Component\StaticDocumentComponent::class, ], ] ], 'FE' => [ 'pageNotFound_handling' => 'USER_FUNCTION:' . \Netlogix\Nxerrorhandler\ErrorHandler\PageNotFoundHandler::class . '->handlePageNotFound' ], 'SYS' => [ 'productionExceptionHandler' => \Netlogix\Nxerrorhandler\ErrorHandler\GeneralExceptionHandler::class ], ];
Note: this will register the ExceptionHandler for all contexts including backend
requests. If you want to restrict it to frontend requests only then add this
line to AdditionalConfiguration.php
instead:
if (TYPO3_REQUESTTYPE & TYPO3_REQUESTTYPE_FE) { $GLOBALS['TYPO3_CONF_VARS']['SYS']['productionExceptionHandler'] = \Netlogix\Nxerrorhandler\ErrorHandler\GeneralExceptionHandler::class; }
Add this to your config/sites/sitename/config.yaml
errorHandling: - errorCode: '400' errorHandler: PHP errorPhpClassFQCN: Netlogix\Nxerrorhandler\Error\PageContentErrorHandler errorContentSource: 't3://page?uid=99' - errorCode: '404' errorHandler: PHP errorPhpClassFQCN: Netlogix\Nxerrorhandler\Error\PageContentErrorHandler errorContentSource: 't3://page?uid=99' - errorCode: '500' errorHandler: PHP errorPhpClassFQCN: Netlogix\Nxerrorhandler\Error\PageContentErrorHandler errorContentSource: 't3://page?uid=99'