dotkernel / api

DotKernel's PSR-7 REST style API built around the Mezzio API skeleton.
https://docs.dotkernel.org/api-documentation/
MIT License
35 stars 5 forks source link

Twig\Error\LoaderError when hit /documentation #13

Closed starcodeconqueror closed 4 years ago

starcodeconqueror commented 4 years ago

reproduce :

  1. install
  2. hit localhost:8000 -> OK
  3. hit localhost:8000/documentation -> error

Twig\Error\LoaderError



Twig\Error\LoaderError raised in file /Users/codeconqueror/Sites/dotkernel-api/vendor/twig/twig/src/Loader/FilesystemLoader.php line 227:
Message: Unable to find template "@error/404.html.twig" (looked into: /Users/codeconqueror/Sites/dotkernel-api/src/App/src/../templates/error).
Stack Trace:
#0 /Users/codeconqueror/Sites/dotkernel-api/vendor/twig/twig/src/Loader/FilesystemLoader.php(131): Twig\Loader\FilesystemLoader->findTemplate('@error/404.html...')
#1 /Users/codeconqueror/Sites/dotkernel-api/vendor/twig/twig/src/Environment.php(261): Twig\Loader\FilesystemLoader->getCacheKey('@error/404.html...')
#2 /Users/codeconqueror/Sites/dotkernel-api/vendor/twig/twig/src/Environment.php(309): Twig\Environment->getTemplateClass('@error/404.html...')
#3 /Users/codeconqueror/Sites/dotkernel-api/vendor/twig/twig/src/Environment.php(277): Twig\Environment->load('@error/404.html...')
#4 /Users/codeconqueror/Sites/dotkernel-api/vendor/mezzio/mezzio-twigrenderer/src/TwigRenderer.php(111): Twig\Environment->render('@error/404.html...', Array)
#5 /Users/codeconqueror/Sites/dotkernel-api/vendor/mezzio/mezzio/src/Handler/NotFoundHandler.php(103): Mezzio\Twig\TwigRenderer->render('@error/404.html...', Array)
#6 /Users/codeconqueror/Sites/dotkernel-api/vendor/mezzio/mezzio/src/Handler/NotFoundHandler.php(72): Mezzio\Handler\NotFoundHandler->generateTemplatedResponse(Object(Mezzio\Twig\TwigRenderer), Object(Laminas\Diactoros\ServerRequest))
#7 /Users/codeconqueror/Sites/dotkernel-api/vendor/laminas/laminas-stratigility/src/Middleware/RequestHandlerMiddleware.php(54): Mezzio\Handler\NotFoundHandler->handle(Object(Laminas\Diactoros\ServerRequest))
#8 /Users/codeconqueror/Sites/dotkernel-api/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(47): Laminas\Stratigility\Middleware\RequestHandlerMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#9 /Users/codeconqueror/Sites/dotkernel-api/vendor/laminas/laminas-stratigility/src/Next.php(61): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#10 /Users/codeconqueror/Sites/dotkernel-api/vendor/mezzio/mezzio-router/src/RouteResult.php(108): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#11 /Users/codeconqueror/Sites/dotkernel-api/vendor/mezzio/mezzio-router/src/Middleware/DispatchMiddleware.php(36): Mezzio\Router\RouteResult->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#12 /Users/codeconqueror/Sites/dotkernel-api/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(47): Mezzio\Router\Middleware\DispatchMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#13 /Users/codeconqueror/Sites/dotkernel-api/vendor/laminas/laminas-stratigility/src/Next.php(61): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#14 /Users/codeconqueror/Sites/dotkernel-api/vendor/mezzio/mezzio-helpers/src/UrlHelperMiddleware.php(46): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#15 /Users/codeconqueror/Sites/dotkernel-api/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(47): Mezzio\Helper\UrlHelperMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#16 /Users/codeconqueror/Sites/dotkernel-api/vendor/laminas/laminas-stratigility/src/Next.php(61): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#17 /Users/codeconqueror/Sites/dotkernel-api/vendor/mezzio/mezzio-router/src/Middleware/MethodNotAllowedMiddleware.php(52): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#18 /Users/codeconqueror/Sites/dotkernel-api/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(47): Mezzio\Router\Middleware\MethodNotAllowedMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#19 /Users/codeconqueror/Sites/dotkernel-api/vendor/laminas/laminas-stratigility/src/Next.php(61): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#20 /Users/codeconqueror/Sites/dotkernel-api/vendor/mezzio/mezzio-router/src/Middleware/ImplicitOptionsMiddleware.php(71): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#21 /Users/codeconqueror/Sites/dotkernel-api/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(47): Mezzio\Router\Middleware\ImplicitOptionsMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#22 /Users/codeconqueror/Sites/dotkernel-api/vendor/laminas/laminas-stratigility/src/Next.php(61): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#23 /Users/codeconqueror/Sites/dotkernel-api/vendor/mezzio/mezzio-router/src/Middleware/ImplicitHeadMiddleware.php(85): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#24 /Users/codeconqueror/Sites/dotkernel-api/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(47): Mezzio\Router\Middleware\ImplicitHeadMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#25 /Users/codeconqueror/Sites/dotkernel-api/vendor/laminas/laminas-stratigility/src/Next.php(61): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#26 /Users/codeconqueror/Sites/dotkernel-api/vendor/mezzio/mezzio-router/src/Middleware/RouteMiddleware.php(55): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#27 /Users/codeconqueror/Sites/dotkernel-api/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(47): Mezzio\Router\Middleware\RouteMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#28 /Users/codeconqueror/Sites/dotkernel-api/vendor/laminas/laminas-stratigility/src/Next.php(61): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#29 /Users/codeconqueror/Sites/dotkernel-api/vendor/tuupola/cors-middleware/src/CorsMiddleware.php(112): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#30 /Users/codeconqueror/Sites/dotkernel-api/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(47): Tuupola\Middleware\CorsMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#31 /Users/codeconqueror/Sites/dotkernel-api/vendor/laminas/laminas-stratigility/src/Next.php(61): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#32 /Users/codeconqueror/Sites/dotkernel-api/vendor/mezzio/mezzio-helpers/src/ServerUrlMiddleware.php(38): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#33 /Users/codeconqueror/Sites/dotkernel-api/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(47): Mezzio\Helper\ServerUrlMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#34 /Users/codeconqueror/Sites/dotkernel-api/vendor/laminas/laminas-stratigility/src/Next.php(61): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#35 /Users/codeconqueror/Sites/dotkernel-api/vendor/mezzio/mezzio-helpers/src/BodyParams/BodyParamsMiddleware.php(75): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#36 /Users/codeconqueror/Sites/dotkernel-api/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(47): Mezzio\Helper\BodyParams\BodyParamsMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#37 /Users/codeconqueror/Sites/dotkernel-api/vendor/laminas/laminas-stratigility/src/Next.php(61): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#38 /Users/codeconqueror/Sites/dotkernel-api/vendor/laminas/laminas-stratigility/src/Middleware/PathMiddlewareDecorator.php(48): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#39 /Users/codeconqueror/Sites/dotkernel-api/vendor/laminas/laminas-stratigility/src/Next.php(61): Laminas\Stratigility\Middleware\PathMiddlewareDecorator->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#40 /Users/codeconqueror/Sites/dotkernel-api/vendor/dotkernel/dot-errorhandler/src/LogErrorHandler.php(146): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#41 /Users/codeconqueror/Sites/dotkernel-api/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(47): Dot\ErrorHandler\LogErrorHandler->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#42 /Users/codeconqueror/Sites/dotkernel-api/vendor/laminas/laminas-stratigility/src/Next.php(61): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#43 /Users/codeconqueror/Sites/dotkernel-api/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#44 /Users/codeconqueror/Sites/dotkernel-api/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(73): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\EmptyPipelineHandler))
#45 /Users/codeconqueror/Sites/dotkernel-api/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(96): Laminas\Stratigility\MiddlewarePipe->handle(Object(Laminas\Diactoros\ServerRequest))
#46 /Users/codeconqueror/Sites/dotkernel-api/vendor/mezzio/mezzio/src/Application.php(82): Laminas\HttpHandlerRunner\RequestHandlerRunner->run()
#47 /Users/codeconqueror/Sites/dotkernel-api/public/index.php(32): Mezzio\Application->run()
#48 /Users/codeconqueror/Sites/dotkernel-api/public/index.php(33): {closure}()
#49 {main}```
alexmerlin commented 4 years ago

Did you follow the installation process step by step as described in the readme file? The behaviour described by you could be the result of calling any endpoint before finishing the installation process (including step 3 where you fill out the database info). In this case an incomplete configuration would cause the above error.

Fixing this should be fairly easy:

Please let us know if the issue still persists.

MarioRadu commented 4 years ago

This issue was resolved and merged to the 3.0 default branch. The resolution was to add a custom not found handler that returns an empty error response with the 404 status code. Thanks for pointing out this issue ! :)