Error 500 Internal Server Error

GET https://thomasgirard.com/assets/global/plugins/ckeditor/elfinder/php/connector.php

Forwarded to ErrorController (23739a)

Exceptions

The "/home/tgir/freelance/assets/controllers" directory does not exist.

Exception

Symfony\Component\Finder\Exception\ DirectoryNotFoundException

  1.                 $resolvedDirs[] = [$this->normalizeDir($dir)];
  2.             } elseif ($glob glob($dir, (\defined('GLOB_BRACE') ? \GLOB_BRACE 0) | \GLOB_ONLYDIR \GLOB_NOSORT)) {
  3.                 sort($glob);
  4.                 $resolvedDirs[] = array_map($this->normalizeDir(...), $glob);
  5.             } else {
  6.                 throw new DirectoryNotFoundException(sprintf('The "%s" directory does not exist.'$dir));
  7.             }
  8.         }
  9.         $this->dirs array_merge($this->dirs, ...$resolvedDirs);
  1.      * @return array<string, MappedControllerAsset>
  2.      */
  3.     private function loadCustomControllers(): array
  4.     {
  5.         $finder = new Finder();
  6.         $finder->in($this->controllerPaths)
  7.             ->files()
  8.             ->name(self::FILENAME_REGEX);
  9.         $controllersMap = [];
  10.         foreach ($finder as $file) {
  1.      */
  2.     public function getControllersMap(): array
  3.     {
  4.         return array_merge(
  5.             $this->loadUxControllers(),
  6.             $this->loadCustomControllers(),
  7.         );
  8.     }
  9.     public function getControllersJsonPath(): string
  10.     {
  1.         $asset->addFileDependency($this->controllersMapGenerator->getControllersJsonPath());
  2.         foreach ($this->controllersMapGenerator->getControllerPaths() as $controllerDir) {
  3.             $asset->addFileDependency($controllerDir);
  4.         }
  5.         foreach ($this->controllersMapGenerator->getControllersMap() as $name => $mappedControllerAsset) {
  6.             // @legacy: backwards compatibility with Symfony 6.3
  7.             if (class_exists(AssetDependency::class)) {
  8.                 $loaderPublicPath $asset->publicPathWithoutDigest;
  9.                 $controllerPublicPath $mappedControllerAsset->asset->publicPathWithoutDigest;
  10.                 $relativeImportPath Path::makeRelative($controllerPublicPath\dirname($loaderPublicPath));
  1.         foreach ($this->assetCompilers as $compiler) {
  2.             if (!$compiler->supports($asset)) {
  3.                 continue;
  4.             }
  5.             $content $compiler->compile($content$asset$this->assetMapper ??= ($this->assetMapperFactory)());
  6.         }
  7.         return $content;
  8.     }
  1.         if (!$this->compiler->supports($asset)) {
  2.             return null;
  3.         }
  4.         $content file_get_contents($asset->sourcePath);
  5.         $compiled $this->compiler->compile($content$asset);
  6.         return $compiled !== $content $compiled null;
  7.     }
  8.     private function getPublicPath(MappedAsset $asset, ?string $content): ?string
  1.         if (!isset($this->assetsCache[$logicalPath])) {
  2.             $isVendor $this->isVendor($sourcePath);
  3.             $asset = new MappedAsset($logicalPath$sourcePath$this->assetsPathResolver->resolvePublicPath($logicalPath), isVendor$isVendor);
  4.             $this->assetsCache[$logicalPath] = $asset;
  5.             $content $this->compileContent($asset);
  6.             [$digest$isPredigested] = $this->getDigest($asset$content);
  7.             $asset = new MappedAsset(
  8.                 $asset->logicalPath,
  9.                 $asset->sourcePath,
  1.         if ($configCache->isFresh()) {
  2.             return unserialize(file_get_contents($cachePath));
  3.         }
  4.         $mappedAsset $this->innerFactory->createMappedAsset($logicalPath$sourcePath);
  5.         if (!$mappedAsset) {
  6.             return null;
  7.         }
in vendor/symfony/asset-mapper/AssetMapper.php -> createMappedAsset (line 41)
  1.         $filePath $this->mapperRepository->find($logicalPath);
  2.         if (null === $filePath) {
  3.             return null;
  4.         }
  5.         return $this->mappedAssetFactory->createMappedAsset($logicalPath$filePath);
  6.     }
  7.     public function allAssets(): iterable
  8.     {
  9.         foreach ($this->mapperRepository->all() as $logicalPath => $filePath) {
  1.     }
  2.     public function allAssets(): iterable
  3.     {
  4.         foreach ($this->mapperRepository->all() as $logicalPath => $filePath) {
  5.             $asset $this->getAsset($logicalPath);
  6.             if (null === $asset) {
  7.                 throw new \LogicException(sprintf('Asset "%s" could not be found.'$logicalPath));
  8.             }
  9.             yield $asset;
  10.         }
  1.             }
  2.         }
  3.         // we did not find a match
  4.         $asset null;
  5.         foreach ($this->assetMapper->allAssets() as $assetCandidate) {
  6.             if ($pathInfo === $assetCandidate->publicPath) {
  7.                 $asset $assetCandidate;
  8.                 break;
  9.             }
  10.         }
  1.         $pathInfo rawurldecode($event->getRequest()->getPathInfo());
  2.         if (!str_starts_with($pathInfo$this->publicPrefix)) {
  3.             return;
  4.         }
  5.         $asset $this->findAssetFromCache($pathInfo);
  6.         if (!$asset) {
  7.             throw new NotFoundHttpException(sprintf('Asset with public path "%s" not found.'$pathInfo));
  8.         }
  1.                     $closure = static function (...$args) use (&$listener, &$closure) {
  2.                         if ($listener[0] instanceof \Closure) {
  3.                             $listener[0] = $listener[0]();
  4.                             $listener[1] ??= '__invoke';
  5.                         }
  6.                         ($closure $listener(...))(...$args);
  7.                     };
  8.                 } else {
  9.                     $closure $listener instanceof WrappedListener $listener $listener(...);
  10.                 }
  11.             }
in vendor/symfony/event-dispatcher/EventDispatcher.php :: Symfony\Component\EventDispatcher\{closure} (line 220)
  1.         foreach ($listeners as $listener) {
  2.             if ($stoppable && $event->isPropagationStopped()) {
  3.                 break;
  4.             }
  5.             $listener($event$eventName$this);
  6.         }
  7.     }
  8.     /**
  9.      * Sorts the internal list of listeners for the given event by priority.
  1.         } else {
  2.             $listeners $this->getListeners($eventName);
  3.         }
  4.         if ($listeners) {
  5.             $this->callListeners($listeners$eventName$event);
  6.         }
  7.         return $event;
  8.     }
  1.      */
  2.     private function handleRaw(Request $requestint $type self::MAIN_REQUEST): Response
  3.     {
  4.         // request
  5.         $event = new RequestEvent($this$request$type);
  6.         $this->dispatcher->dispatch($eventKernelEvents::REQUEST);
  7.         if ($event->hasResponse()) {
  8.             return $this->filterResponse($event->getResponse(), $request$type);
  9.         }
  1.         $request->headers->set('X-Php-Ob-Level', (string) ob_get_level());
  2.         $this->requestStack->push($request);
  3.         $response null;
  4.         try {
  5.             return $response $this->handleRaw($request$type);
  6.         } catch (\Throwable $e) {
  7.             if ($e instanceof \Error && !$this->handleAllThrowables) {
  8.                 throw $e;
  9.             }
  1.         $this->boot();
  2.         ++$this->requestStackSize;
  3.         $this->resetServices true;
  4.         try {
  5.             return $this->getHttpKernel()->handle($request$type$catch);
  6.         } finally {
  7.             --$this->requestStackSize;
  8.         }
  9.     }
  1.     ) {
  2.     }
  3.     public function run(): int
  4.     {
  5.         $response $this->kernel->handle($this->request);
  6.         if (Kernel::VERSION_ID >= 60400) {
  7.             $response->send(false);
  8.             if (\function_exists('fastcgi_finish_request') && !$this->debug) {
in vendor/autoload_runtime.php -> run (line 29)
  1. $app $app(...$args);
  2. exit(
  3.     $runtime
  4.         ->getRunner($app)
  5.         ->run()
  6. );
require_once('/home/tgir/freelance/vendor/autoload_runtime.php') in public/index.php (line 5)
  1. <?php
  2. use App\Kernel;
  3. require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
  4. return function (array $context) {
  5.     return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
  6. };

Logs

Level Channel Message
INFO 08:42:21 request Matched route "_profiler".
{
    "route": "_profiler",
    "route_parameters": {
        "_route": "_profiler",
        "_controller": "web_profiler.controller.profiler::panelAction",
        "token": "ced242"
    },
    "request_uri": "https://thomasgirard.com/_profiler/ced242",
    "method": "GET"
}

Stack Trace

DirectoryNotFoundException
Symfony\Component\Finder\Exception\DirectoryNotFoundException:
The "/home/tgir/freelance/assets/controllers" directory does not exist.

  at vendor/symfony/finder/Finder.php:649
  at Symfony\Component\Finder\Finder->in(array('/home/tgir/freelance/assets/controllers'))
     (vendor/symfony/stimulus-bundle/src/AssetMapper/ControllersMapGenerator.php:67)
  at Symfony\UX\StimulusBundle\AssetMapper\ControllersMapGenerator->loadCustomControllers()
     (vendor/symfony/stimulus-bundle/src/AssetMapper/ControllersMapGenerator.php:47)
  at Symfony\UX\StimulusBundle\AssetMapper\ControllersMapGenerator->getControllersMap()
     (vendor/symfony/stimulus-bundle/src/AssetMapper/StimulusLoaderJavaScriptCompiler.php:52)
  at Symfony\UX\StimulusBundle\AssetMapper\StimulusLoaderJavaScriptCompiler->compile('const eagerControllers = {};const lazyControllers = {};const isApplicationDebug = false;export { eagerControllers, isApplicationDebug, lazyControllers };', object(MappedAsset), object(AssetMapper))
     (vendor/symfony/asset-mapper/AssetMapperCompiler.php:40)
  at Symfony\Component\AssetMapper\AssetMapperCompiler->compile('const eagerControllers = {};const lazyControllers = {};const isApplicationDebug = false;export { eagerControllers, isApplicationDebug, lazyControllers };', object(MappedAsset))
     (vendor/symfony/asset-mapper/Factory/MappedAssetFactory.php:108)
  at Symfony\Component\AssetMapper\Factory\MappedAssetFactory->compileContent(object(MappedAsset))
     (vendor/symfony/asset-mapper/Factory/MappedAssetFactory.php:49)
  at Symfony\Component\AssetMapper\Factory\MappedAssetFactory->createMappedAsset('@symfony/stimulus-bundle/controllers.js', '/home/tgir/freelance/vendor/symfony/stimulus-bundle/assets/dist/controllers.js')
     (vendor/symfony/asset-mapper/Factory/CachedMappedAssetFactory.php:42)
  at Symfony\Component\AssetMapper\Factory\CachedMappedAssetFactory->createMappedAsset('@symfony/stimulus-bundle/controllers.js', '/home/tgir/freelance/vendor/symfony/stimulus-bundle/assets/dist/controllers.js')
     (vendor/symfony/asset-mapper/AssetMapper.php:41)
  at Symfony\Component\AssetMapper\AssetMapper->getAsset('@symfony/stimulus-bundle/controllers.js')
     (vendor/symfony/asset-mapper/AssetMapper.php:47)
  at Symfony\Component\AssetMapper\AssetMapper->allAssets()
     (vendor/symfony/asset-mapper/AssetMapperDevServerSubscriber.php:193)
  at Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber->findAssetFromCache('/assets/global/plugins/ckeditor/elfinder/php/connector.php')
     (vendor/symfony/asset-mapper/AssetMapperDevServerSubscriber.php:127)
  at Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber->onKernelRequest(object(RequestEvent), 'kernel.request', object(EventDispatcher))
     (vendor/symfony/event-dispatcher/EventDispatcher.php:260)
  at Symfony\Component\EventDispatcher\EventDispatcher::Symfony\Component\EventDispatcher\{closure}(object(RequestEvent), 'kernel.request', object(EventDispatcher))
     (vendor/symfony/event-dispatcher/EventDispatcher.php:220)
  at Symfony\Component\EventDispatcher\EventDispatcher->callListeners(array(object(Closure), object(Closure), object(Closure), object(Closure), object(Closure), object(Closure), object(Closure), object(Closure), object(Closure), object(Closure)), 'kernel.request', object(RequestEvent))
     (vendor/symfony/event-dispatcher/EventDispatcher.php:56)
  at Symfony\Component\EventDispatcher\EventDispatcher->dispatch(object(RequestEvent), 'kernel.request')
     (vendor/symfony/http-kernel/HttpKernel.php:157)
  at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
     (vendor/symfony/http-kernel/HttpKernel.php:76)
  at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
     (vendor/symfony/http-kernel/Kernel.php:197)
  at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
     (vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35)
  at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run()
     (vendor/autoload_runtime.php:29)
  at require_once('/home/tgir/freelance/vendor/autoload_runtime.php')
     (public/index.php:5)