Error 500 Internal Server Error

GET https://geoportal.wuelfrath.de/mapbender/index.php/application/mapbender_mobile_yml1/assets/trans

Forwarded to ErrorController (c66656)

Exceptions

Warning: rename(C:\Geoportal\apps\mapbender-starter-v4.2.6\var\cache\dev/doctrine/orm/Proxies\__CG__MapbenderCoreBundleEntityApplication.php.f941777c8be68ab016d4a103,C:\Geoportal\apps\mapbender-starter-v4.2.6\var\cache\dev/doctrine/orm/Proxies\__CG__MapbenderCoreBundleEntityApplication.php): Zugriff verweigert (code: 5)

Exception

ErrorException

Show exception properties
ErrorException {#128
  #severity: E_WARNING
}
  1. $tmpFileName = $fileName . '.' . bin2hex(random_bytes(12));
  2. file_put_contents($tmpFileName, $proxyCode);
  3. @chmod($tmpFileName, 0664);
  4. rename($tmpFileName, $fileName);
  5. }
  6. private function generateUseLazyGhostTrait(ClassMetadata $class): string
  7. {
  8. // @phpstan-ignore staticMethod.deprecated (Because we support Symfony < 7.3)
  1. if (file_exists($fileName)) {
  2. break;
  3. }
  4. // no break
  5. case self::AUTOGENERATE_ALWAYS:
  6. $this->generateProxyClass($class, $fileName, $proxyClassName);
  7. break;
  8. }
  9. require $fileName;
  1. }
  2. $className = $class->getName(); // aliases and case sensitivity
  3. $entityPersister = $this->uow->getEntityPersister($className);
  4. $initializer = $this->createLazyInitializer($class, $entityPersister, $this->identifierFlattener);
  5. $proxyClassName = $this->loadProxyClass($class);
  6. $identifierFields = array_intersect_key($class->getReflectionProperties(), $identifiers);
  7. $proxyFactory = Closure::bind(static function (array $identifier) use ($initializer, $skippedProperties, $identifierFields, $className): InternalProxy {
  8. $proxy = self::createLazyGhost(static function (InternalProxy $object) use ($initializer, $identifier): void {
  9. $initializer($object, $identifier);
  1. if (! $this->isLazyGhostObjectEnabled) {
  2. // @phpstan-ignore method.deprecatedClass
  3. return parent::getProxy($className, $identifier);
  4. }
  5. $proxyFactory = $this->proxyFactories[$className] ?? $this->getProxyFactory($className);
  6. return $proxyFactory($identifier);
  7. }
  8. /**
  1. $normalizedAssociatedId = $this->normalizeIdentifier($targetClass, $associatedId);
  2. switch (true) {
  3. // We are negating the condition here. Other cases will assume it is valid!
  4. case $hints['fetchMode'][$class->name][$field] !== ClassMetadata::FETCH_EAGER:
  5. $newValue = $this->em->getProxyFactory()->getProxy($assoc['targetEntity'], $normalizedAssociatedId);
  6. $this->registerManaged($newValue, $associatedId, []);
  7. break;
  8. // Deferred eager load only works for single identifier classes
  9. case isset($hints[self::HINT_DEFEREAGERLOAD]) &&
  1. $this->registerManaged($this->_metadataCache[$className], $this->_hints[Query::HINT_REFRESH_ENTITY], $data);
  2. }
  3. $this->_hints['fetchAlias'] = $dqlAlias;
  4. return $this->_uow->createEntity($className, $data, $this->_hints);
  5. }
  6. /**
  7. * @param class-string $className
  8. * @phpstan-param array<string, mixed> $data
  1. continue;
  2. }
  3. // check for existing result from the iterations before
  4. if (! isset($this->identifierMap[$dqlAlias][$id[$dqlAlias]])) {
  5. $element = $this->getEntity($data, $dqlAlias);
  6. if ($this->resultSetMapping()->isMixed) {
  7. $element = [$entityKey => $element];
  8. }
  1. protected function hydrateAllData()
  2. {
  3. $result = [];
  4. while ($row = $this->statement()->fetchAssociative()) {
  5. $this->hydrateRowData($row, $result);
  6. }
  7. // Take snapshots from all newly initialized collections
  8. foreach ($this->initializedCollections as $coll) {
  9. $coll->takeSnapshot();
  1. $this->_em->getEventManager()->addEventListener([Events::onClear], $this);
  2. $this->prepare();
  3. try {
  4. $result = $this->hydrateAllData();
  5. } finally {
  6. $this->cleanup();
  7. }
  8. return $result;
  1. $rsm = $this->getResultSetMapping();
  2. if ($rsm === null) {
  3. throw new LogicException('Uninitialized result set mapping.');
  4. }
  5. $data = $this->_em->newHydrator($this->_hydrationMode)->hydrateAll($stmt, $rsm, $this->_hints);
  6. $setCacheEntry($data);
  7. return $data;
  8. }
  1. {
  2. if ($this->cacheable && $this->isCacheEnabled()) {
  3. return $this->executeUsingQueryCache($parameters, $hydrationMode);
  4. }
  5. return $this->executeIgnoreQueryCache($parameters, $hydrationMode);
  6. }
  7. /**
  8. * Execute query ignoring second level cache.
  9. *
  1. *
  2. * @return mixed
  3. */
  4. public function getResult($hydrationMode = self::HYDRATE_OBJECT)
  5. {
  6. return $this->execute(null, $hydrationMode);
  7. }
  8. /**
  9. * Gets the array of results for the query.
  10. *
  1. $q = $this->em->getRepository(Permission::class)->createQueryBuilder('p');
  2. foreach ($this->subjectDomains as $subjectDomain) {
  3. $subjectDomain->buildWhereClause($q, $user);
  4. }
  5. $permissions = $q->getQuery()->getResult();
  6. $this->cache[$userIdentifier] = $permissions;
  7. return $permissions;
  8. }
  9. /**
  1. if ($resourceDomain === null) return false;
  2. $override = $resourceDomain->overrideDecision($resource, $action, $user, $this);
  3. if ($override !== null) return $override;
  4. $permissions = $this->getPermissionsForUser($user);
  5. if (empty($permissions)) return false;
  6. foreach ($permissions as $permission) {
  7. if ($resourceDomain->matchesPermission($permission, $action, $resource)) return true;
  8. }
  1. self::ACTION_EDIT => ResourceDomainInstallation::ACTION_EDIT_ALL_APPLICATIONS,
  2. self::ACTION_DELETE => ResourceDomainInstallation::ACTION_DELETE_ALL_APPLICATIONS,
  3. self::ACTION_MANAGE_PERMISSIONS => ResourceDomainInstallation::ACTION_OWN_ALL_APPLICATIONS,
  4. ];
  5. if ($manager->isGranted($user, null, $globalRightsMap[$action])) return true;
  6. return null;
  7. }
  8. }
  1. public function isGranted(?UserInterface $user, mixed $resource, string $action): bool
  2. {
  3. $resourceDomain = $this->findResourceDomainFor($resource, $action);
  4. if ($resourceDomain === null) return false;
  5. $override = $resourceDomain->overrideDecision($resource, $action, $user, $this);
  6. if ($override !== null) return $override;
  7. $permissions = $this->getPermissionsForUser($user);
  8. if (empty($permissions)) return false;
  1. * @return bool
  2. */
  3. protected function voteOnAttribute(string $attribute, $subject, TokenInterface $token): bool
  4. {
  5. $user = $token->getUser();
  6. return $this->isGranted($user, $subject, $attribute);
  7. }
  8. /** END Wrapper for symfony's VoterInterface */
  1. }
  2. // as soon as at least one attribute is supported, default is to deny access
  3. $vote = self::ACCESS_DENIED;
  4. if ($this->voteOnAttribute($attribute, $subject, $token)) {
  5. // grant access as soon as at least one attribute returns a positive response
  6. return self::ACCESS_GRANTED;
  7. }
  8. }
  1. $this->eventDispatcher = $eventDispatcher;
  2. }
  3. public function vote(TokenInterface $token, mixed $subject, array $attributes): int
  4. {
  5. $result = $this->voter->vote($token, $subject, $attributes);
  6. $this->eventDispatcher->dispatch(new VoteEvent($this->voter, $subject, $attributes, $result), 'debug.security.authorization.vote');
  7. return $result;
  8. }
  1. * @return \Traversable<int, int>
  2. */
  3. private function collectResults(TokenInterface $token, array $attributes, mixed $object): \Traversable
  4. {
  5. foreach ($this->getVoters($attributes, $object) as $voter) {
  6. $result = $voter->vote($token, $object, $attributes);
  7. if (!\is_int($result) || !(self::VALID_VOTES[$result] ?? false)) {
  8. throw new \LogicException(\sprintf('"%s::vote()" must return one of "%s" constants ("ACCESS_GRANTED", "ACCESS_DENIED" or "ACCESS_ABSTAIN"), "%s" returned.', get_debug_type($voter), VoterInterface::class, var_export($result, true)));
  9. }
  10. yield $result;
  1. }
  2. public function decide(\Traversable $results): bool
  3. {
  4. $deny = 0;
  5. foreach ($results as $result) {
  6. if (VoterInterface::ACCESS_GRANTED === $result) {
  7. return true;
  8. }
  9. if (VoterInterface::ACCESS_DENIED === $result) {
  1. // Special case for AccessListener, do not remove the right side of the condition before 6.0
  2. if (\count($attributes) > 1 && !$allowMultipleAttributes) {
  3. throw new InvalidArgumentException(\sprintf('Passing more than one Security attribute to "%s()" is not supported.', __METHOD__));
  4. }
  5. return $this->strategy->decide(
  6. $this->collectResults($token, $attributes, $object)
  7. );
  8. }
  9. /**
  1. 'voterDetails' => [],
  2. ];
  3. $this->currentLog[] = &$currentDecisionLog;
  4. $result = $this->manager->decide($token, $attributes, $object, $allowMultipleAttributes);
  5. $currentDecisionLog['result'] = $result;
  6. $this->decisionLog[] = array_pop($this->currentLog); // Using a stack since decide can be called by voters
  1. if (!$token || !$token->getUser()) {
  2. $token = new NullToken();
  3. }
  4. return $this->accessDecisionManager->decide($token, [$attribute], $subject);
  5. }
  6. }
  1. return $application;
  2. }
  3. protected function denyAccessUnlessGranted(string $attribute, mixed $subject): void
  4. {
  5. if (!$this->authorizationChecker->isGranted($attribute, $subject)) {
  6. $exception = new AccessDeniedException("Access Denied.");
  7. $exception->setAttributes([$attribute]);
  8. $exception->setSubject($subject);
  9. throw $exception;
  1. }
  2. public function getApplicationEntity(string $slug): Application
  3. {
  4. $application = $this->getApplicationEntityUnsecure($slug);
  5. $this->denyAccessUnlessGranted(ResourceDomainApplication::ACTION_VIEW, $application);
  6. return $application;
  7. }
  8. public function getApplicationEntityUnsecure(string $slug): Application
  9. {
  1. $cacheFile = $this->getCachePath($request, $slug, $type);
  2. if ($source = $this->getManagerAssetDependencies($slug)) {
  3. // @todo: TBD more reasonable criteria of backend / login asset cachability
  4. $appModificationTs = $this->containerTimestamp;
  5. } else {
  6. $source = $this->applicationResolver->getApplicationEntity($slug);
  7. $appModificationTs = $source->getUpdated()->getTimestamp();
  8. }
  9. $cacheFile .= ".{$type}";
  10. $headers = array(
  11. 'Content-Type' => $this->getMimeType($type),
  1. $this->dispatcher->dispatch($event, KernelEvents::CONTROLLER_ARGUMENTS);
  2. $controller = $event->getController();
  3. $arguments = $event->getArguments();
  4. // call controller
  5. $response = $controller(...$arguments);
  6. // view
  7. if (!$response instanceof Response) {
  8. $event = new ViewEvent($this, $request, $type, $response, $event);
  9. $this->dispatcher->dispatch($event, KernelEvents::VIEW);
  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. if (!$this->handlingHttpCache) {
  2. $this->resetServices = true;
  3. }
  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) {
  1. $app = $app(...$args);
  2. exit(
  3. $runtime
  4. ->getRunner($app)
  5. ->run()
  6. );
require_once('C:\\Geoportal\\apps\\mapbender-starter-v4.2.6\\vendor\\autoload_runtime.php') in C:\Geoportal\apps\mapbender-starter-v4.2.6\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 11:56:54 request Matched route "_profiler".
{
    "route": "_profiler",
    "route_parameters": {
        "_route": "_profiler",
        "_controller": "web_profiler.controller.profiler::panelAction",
        "token": "352148"
    },
    "request_uri": "https://geoportal.wuelfrath.de/mapbender/_profiler/352148",
    "method": "GET"
}
INFO 11:56:54 doctrine Connecting with parameters {params}
{
    "params": {
        "driver": "pdo_sqlite",
        "idle_connection_ttl": 600,
        "host": "localhost",
        "port": null,
        "user": "root",
        "password": null,
        "driverOptions": [],
        "defaultTableOptions": [],
        "path": "C:\\Geoportal\\apps\\mapbender-starter-v4.2.6/var/db/wuelfrath.sqlite",
        "charset": "utf8"
    }
}
DEBUG 11:56:54 doctrine Executing statement: PRAGMA foreign_keys = ON;
{
    "sql": "PRAGMA foreign_keys = ON;"
}

Stack Trace

ErrorException
ErrorException:
Warning: rename(C:\Geoportal\apps\mapbender-starter-v4.2.6\var\cache\dev/doctrine/orm/Proxies\__CG__MapbenderCoreBundleEntityApplication.php.f941777c8be68ab016d4a103,C:\Geoportal\apps\mapbender-starter-v4.2.6\var\cache\dev/doctrine/orm/Proxies\__CG__MapbenderCoreBundleEntityApplication.php): Zugriff verweigert (code: 5)

  at C:\Geoportal\apps\mapbender-starter-v4.2.6\vendor\doctrine\orm\src\Proxy\ProxyFactory.php:573
  at Doctrine\ORM\Proxy\ProxyFactory->generateProxyClass()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\vendor\doctrine\orm\src\Proxy\ProxyFactory.php:524)
  at Doctrine\ORM\Proxy\ProxyFactory->loadProxyClass()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\vendor\doctrine\orm\src\Proxy\ProxyFactory.php:474)
  at Doctrine\ORM\Proxy\ProxyFactory->getProxyFactory()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\vendor\doctrine\orm\src\Proxy\ProxyFactory.php:214)
  at Doctrine\ORM\Proxy\ProxyFactory->getProxy()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\vendor\doctrine\orm\src\UnitOfWork.php:3119)
  at Doctrine\ORM\UnitOfWork->createEntity()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\vendor\doctrine\orm\src\Internal\Hydration\ObjectHydrator.php:272)
  at Doctrine\ORM\Internal\Hydration\ObjectHydrator->getEntity()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\vendor\doctrine\orm\src\Internal\Hydration\ObjectHydrator.php:502)
  at Doctrine\ORM\Internal\Hydration\ObjectHydrator->hydrateRowData()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\vendor\doctrine\orm\src\Internal\Hydration\ObjectHydrator.php:149)
  at Doctrine\ORM\Internal\Hydration\ObjectHydrator->hydrateAllData()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\vendor\doctrine\orm\src\Internal\Hydration\AbstractHydrator.php:276)
  at Doctrine\ORM\Internal\Hydration\AbstractHydrator->hydrateAll()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\vendor\doctrine\orm\src\AbstractQuery.php:1226)
  at Doctrine\ORM\AbstractQuery->executeIgnoreQueryCache()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\vendor\doctrine\orm\src\AbstractQuery.php:1167)
  at Doctrine\ORM\AbstractQuery->execute()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\vendor\doctrine\orm\src\AbstractQuery.php:906)
  at Doctrine\ORM\AbstractQuery->getResult()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\mapbender\src\FOM\UserBundle\Security\Permission\PermissionManager.php:222)
  at FOM\UserBundle\Security\Permission\PermissionManager->getPermissionsForUser()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\mapbender\src\FOM\UserBundle\Security\Permission\PermissionManager.php:53)
  at FOM\UserBundle\Security\Permission\PermissionManager->isGranted()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\mapbender\src\FOM\UserBundle\Security\Permission\ResourceDomainApplication.php:96)
  at FOM\UserBundle\Security\Permission\ResourceDomainApplication->overrideDecision()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\mapbender\src\FOM\UserBundle\Security\Permission\PermissionManager.php:50)
  at FOM\UserBundle\Security\Permission\PermissionManager->isGranted()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\mapbender\src\FOM\UserBundle\Security\Permission\PermissionManager.php:354)
  at FOM\UserBundle\Security\Permission\PermissionManager->voteOnAttribute()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\vendor\symfony\security-core\Authorization\Voter\Voter.php:48)
  at Symfony\Component\Security\Core\Authorization\Voter\Voter->vote()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\vendor\symfony\security-core\Authorization\Voter\TraceableVoter.php:38)
  at Symfony\Component\Security\Core\Authorization\Voter\TraceableVoter->vote()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\vendor\symfony\security-core\Authorization\AccessDecisionManager.php:70)
  at Symfony\Component\Security\Core\Authorization\AccessDecisionManager->collectResults()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\vendor\symfony\security-core\Authorization\Strategy\AffirmativeStrategy.php:37)
  at Symfony\Component\Security\Core\Authorization\Strategy\AffirmativeStrategy->decide()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\vendor\symfony\security-core\Authorization\AccessDecisionManager.php:59)
  at Symfony\Component\Security\Core\Authorization\AccessDecisionManager->decide()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\vendor\symfony\security-core\Authorization\TraceableAccessDecisionManager.php:60)
  at Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager->decide()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\vendor\symfony\security-core\Authorization\AuthorizationChecker.php:48)
  at Symfony\Component\Security\Core\Authorization\AuthorizationChecker->isGranted()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\mapbender\src\Mapbender\CoreBundle\Component\Application\DbAndYamlApplicationResolver.php:47)
  at Mapbender\CoreBundle\Component\Application\DbAndYamlApplicationResolver->denyAccessUnlessGranted()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\mapbender\src\Mapbender\CoreBundle\Component\Application\DbAndYamlApplicationResolver.php:27)
  at Mapbender\CoreBundle\Component\Application\DbAndYamlApplicationResolver->getApplicationEntity()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\mapbender\src\Mapbender\CoreBundle\Controller\AssetsController.php:53)
  at Mapbender\CoreBundle\Controller\AssetsController->assets()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\vendor\symfony\http-kernel\HttpKernel.php:181)
  at Symfony\Component\HttpKernel\HttpKernel->handleRaw()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\vendor\symfony\http-kernel\HttpKernel.php:76)
  at Symfony\Component\HttpKernel\HttpKernel->handle()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\vendor\symfony\http-kernel\Kernel.php:208)
  at Symfony\Component\HttpKernel\Kernel->handle()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\vendor\symfony\runtime\Runner\Symfony\HttpKernelRunner.php:35)
  at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run()
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\vendor\autoload_runtime.php:29)
  at require_once('C:\\Geoportal\\apps\\mapbender-starter-v4.2.6\\vendor\\autoload_runtime.php')
     (C:\Geoportal\apps\mapbender-starter-v4.2.6\public\index.php:5)