lochmueller / perfectlightbox

TYPO3 CMS Extension - perfectlightbox
http://typo3.org/extensions/repository/view/perfectlightbox
3 stars 9 forks source link

Folder "Classes" does not exist? #7

Closed franzrosenkohl closed 7 years ago

franzrosenkohl commented 7 years ago

I get a weird backend error (see below). Apparently you don't have a "Classes" folder, but typo3 7.6.15 expects one when installing the extension.

Uncaught TYPO3 Exception Could not scan for classes inside "/home/akj/public_html/typo3conf/ext/perfectlightbox/Classes/" which does not appear to be a file nor a folder

RuntimeException thrown in file /home/akj/public_html/typo3_src-7.6.15/typo3/sysext/core/Resources/PHP/ClassMapGenerator.php in line 68.

25 Composer\Autoload\ClassMapGenerator::createMap("/home/akj/public_html/typo3conf/ext/perfectlightbox/Classes/", NULL, NULL, "BENIEDIEK\Perfectlightbox\")

/home/akj/public_html/typo3_src-7.6.15/typo3/sysext/core/Classes/Core/ClassLoadingInformationGenerator.php: 00154: $blacklistExpression = "{($blacklistPathPrefix/tests/|$blacklistPathPrefix/Tests/|$blacklistPathPrefix/Resources/|$blacklistPathPrefix/res/|$blacklistPathPrefix/class.ext_update.php)}"; 00155: } 00156: foreach (ClassMapGenerator::createMap($classesPath, $blacklistExpression, null, $namespace) as $class => $path) { 00157: if ($useRelativePaths) { 00158: $classMap[$class] = $this->makePathRelative($classesPath, $path);

24 TYPO3\CMS\Core\Core\ClassLoadingInformationGenerator::createClassMap("/home/akj/public_html/typo3conf/ext/perfectlightbox/Classes/", boolean, boolean, "BENIEDIEK\Perfectlightbox\")

/home/akj/public_html/typo3_src-7.6.15/typo3/sysext/core/Classes/Core/ClassLoadingInformationGenerator.php: 00093: // The namespace prefix has been registered already, which means there also might be 00094: // a class map which we need to override 00095: $classMap = array_merge($classMap, $this->createClassMap($namespacePath, $useRelativePaths, false, $namespacePrefix)); 00096: } 00097: }

23 TYPO3\CMS\Core\Core\ClassLoadingInformationGenerator::buildClassLoadingInformationForPackage(TYPO3\CMS\Core\Package\Package, boolean)

/home/akj/public_html/typo3_src-7.6.15/typo3/sysext/core/Classes/Core/ClassLoadingInformationGenerator.php: 00224: $psr4 = []; 00225: foreach ($this->activeExtensionPackages as $package) { 00226: $classLoadingInformation = $this->buildClassLoadingInformationForPackage($package, true); 00227: $classMap = array_merge($classMap, $classLoadingInformation['classMap']); 00228: $psr4 = array_merge($psr4, $classLoadingInformation['psr-4']);

22 TYPO3\CMS\Core\Core\ClassLoadingInformationGenerator::buildAutoloadInformationFiles()

/home/akj/public_html/typo3_src-7.6.15/typo3/sysext/core/Classes/Core/ClassLoadingInformation.php: 00078: /* @var ClassLoadingInformationGenerator $generator / 00079: $generator = GeneralUtility::makeInstance(ClassLoadingInformationGenerator::class, $composerClassLoader, $activeExtensionPackages, PATH_site, self::isTestingContext()); 00080: $classInfoFiles = $generator->buildAutoloadInformationFiles(); 00081: GeneralUtility::writeFile(self::getClassLoadingInformationDirectory() . self::AUTOLOAD_CLASSMAP_FILENAME, $classInfoFiles['classMapFile']); 00082: GeneralUtility::writeFile(self::getClassLoadingInformationDirectory() . self::AUTOLOAD_PSR4_FILENAME, $classInfoFiles['psr-4File']);

21 TYPO3\CMS\Core\Core\ClassLoadingInformation::dumpClassLoadingInformation("perfectlightbox", TYPO3\CMS\Extensionmanager\Utility\InstallUtility, "TYPO3\CMS\Extensionmanager\Utility\InstallUtility::afterExtensionInstall") 20 call_user_func_array(array, array)

/home/akj/public_html/typo3_src-7.6.15/typo3/sysext/extbase/Classes/SignalSlot/Dispatcher.php: 00138: } 00139: 00140: $slotReturn = call_user_func_array([$object, $slotInformation['method']], $preparedSlotArguments); 00141: 00142: if ($slotReturn) {

19 TYPO3\CMS\Extbase\SignalSlot\Dispatcher::dispatch("TYPO3\CMS\Extensionmanager\Utility\InstallUtility", "afterExtensionInstall", array)

/home/akj/public_html/typo3_src-7.6.15/typo3/sysext/extensionmanager/Classes/Utility/InstallUtility.php: 00279: protected function emitAfterExtensionInstallSignal($extensionKey) 00280: { 00281: $this->signalSlotDispatcher->dispatch(CLASS, 'afterExtensionInstall', [$extensionKey, $this]); 00282: } 00283:

18 TYPO3\CMS\Extensionmanager\Utility\InstallUtility::emitAfterExtensionInstallSignal("perfectlightbox")

/home/akj/public_html/typo3_src-7.6.15/typo3/sysext/extensionmanager/Classes/Utility/InstallUtility.php: 00189: $this->processExtensionSetup($extensionKey); 00190: 00191: $this->emitAfterExtensionInstallSignal($extensionKey); 00192: } 00193:

17 TYPO3\CMS\Extensionmanager\Utility\InstallUtility::install("perfectlightbox")

/home/akj/public_html/typo3src-7.6.15/typo3/sysext/extensionmanager/Classes/Service/ExtensionManagementService.php: 00365: $resolvedDependencies = []; 00366: foreach ($installQueue as $extensionKey => $) { 00367: $this->installUtility->install($extensionKey); 00368: $this->emitHasInstalledExtensionSignal($extensionKey); 00369: if (!is_array($resolvedDependencies['installed'])) {

16 TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::installDependencies(array)

/home/akj/public_html/typo3_src-7.6.15/typo3/sysext/extensionmanager/Classes/Service/ExtensionManagementService.php: 00227: $this->downloadQueue->addExtensionToInstallQueue($extension); 00228: $installQueue += $this->downloadQueue->resetExtensionInstallStorage(); 00229: $installedDependencies = $this->installDependencies($installQueue); 00230: 00231: return array_merge($downloadedDependencies, $updatedDependencies, $installedDependencies);

15 TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::installExtension(TYPO3\CMS\Extensionmanager\Domain\Model\Extension)

/home/akj/public_html/typo3_src-7.6.15/typo3/sysext/extensionmanager/Classes/Controller/ActionController.php: 00090: $this->installUtility->enrichExtensionWithDetails($extensionKey, false) 00091: ); 00092: if ($this->managementService->installExtension($extension) === false) { 00093: $this->redirect('unresolvedDependencies', 'List', null, ['extensionKey' => $extensionKey]); 00094: }

14 TYPO3\CMS\Extensionmanager\Controller\ActionController::toggleExtensionInstallationStateAction("perfectlightbox") 13 call_user_func_array(array, array)

/home/akj/public_html/typo3_src-7.6.15/typo3/sysext/extbase/Classes/Mvc/Controller/ActionController.php: 00281: if (!$validationResult->hasErrors()) { 00282: $this->emitBeforeCallActionMethodSignal($preparedArguments); 00283: $actionResult = call_user_func_array([$this, $this->actionMethodName], $preparedArguments); 00284: } else { 00285: $methodTagsValues = $this->reflectionService->getMethodTagsValues(get_class($this), $this->actionMethodName);

12 TYPO3\CMS\Extbase\Mvc\Controller\ActionController::callActionMethod()

/home/akj/public_html/typo3_src-7.6.15/typo3/sysext/extbase/Classes/Mvc/Controller/ActionController.php: 00174: $this->initializeView($this->view); 00175: } 00176: $this->callActionMethod(); 00177: } 00178:

11 TYPO3\CMS\Extbase\Mvc\Controller\ActionController::processRequest(TYPO3\CMS\Extbase\Mvc\Web\Request, TYPO3\CMS\Extbase\Mvc\Web\Response)

/home/akj/public_html/typo3_src-7.6.15/typo3/sysext/extbase/Classes/Mvc/Dispatcher.php: 00084: $controller = $this->resolveController($request); 00085: try { 00086: $controller->processRequest($request, $response); 00087: } catch (\TYPO3\CMS\Extbase\Mvc\Exception\StopActionException $ignoredException) { 00088: }

10 TYPO3\CMS\Extbase\Mvc\Dispatcher::dispatch(TYPO3\CMS\Extbase\Mvc\Web\Request, TYPO3\CMS\Extbase\Mvc\Web\Response)

/home/akj/public_html/typo3_src-7.6.15/typo3/sysext/extbase/Classes/Mvc/Web/BackendRequestHandler.php: 00030: /* @var $response \TYPO3\CMS\Extbase\Mvc\ResponseInterface / 00031: $response = $this->objectManager->get(\TYPO3\CMS\Extbase\Mvc\Web\Response::class); 00032: $this->dispatcher->dispatch($request, $response); 00033: return $response; 00034: }

9 TYPO3\CMS\Extbase\Mvc\Web\BackendRequestHandler::handleRequest()

/home/akj/public_html/typo3_src-7.6.15/typo3/sysext/extbase/Classes/Core/Bootstrap.php: 00204: $requestHandler = $requestHandlerResolver->resolveRequestHandler(); 00205: 00206: $response = $requestHandler->handleRequest(); 00207: // If response is NULL after handling the request we need to stop 00208: // This happens for instance, when a USER object was converted to a USER_INT

8 TYPO3\CMS\Extbase\Core\Bootstrap::handleRequest()

/home/akj/public_html/typo3_src-7.6.15/typo3/sysext/extbase/Classes/Core/Bootstrap.php: 00191: { 00192: $this->initialize($configuration); 00193: return $this->handleRequest(); 00194: } 00195:

7 TYPO3\CMS\Extbase\Core\Bootstrap::run("", array)

/home/akj/public_html/typo3_src-7.6.15/typo3/sysext/backend/Classes/Http/BackendModuleRequestHandler.php: 00212: // Run Extbase 00213: $bootstrap = GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\Core\Bootstrap::class); 00214: $content = $bootstrap->run('', $configuration); 00215: 00216: $response->getBody()->write($content);

6 TYPO3\CMS\Backend\Http\BackendModuleRequestHandler::dispatchModule("tools_ExtensionmanagerExtensionmanager")

/home/akj/public_html/typo3_src-7.6.15/typo3/sysext/backend/Classes/Http/BackendModuleRequestHandler.php: 00090: $moduleName = (string)$this->request->getQueryParams()['M']; 00091: if ($this->isDispatchedModule($moduleName)) { 00092: return $this->dispatchModule($moduleName); 00093: } else { 00094: // @deprecated: This else path is deprecated and throws deprecations logs at registration time. Can be removed with TYPO3 CMS 8.

5 TYPO3\CMS\Backend\Http\BackendModuleRequestHandler::handleRequest(TYPO3\CMS\Core\Http\ServerRequest)

/home/akj/public_html/typo3_src-7.6.15/typo3/sysext/core/Classes/Core/Bootstrap.php: 00300: 00301: // Execute the command which returns a Response object or NULL 00302: $this->response = $requestHandler->handleRequest($request); 00303: return $this; 00304: }

4 TYPO3\CMS\Core\Core\Bootstrap::handleRequest(TYPO3\CMS\Core\Http\ServerRequest)

/home/akj/public_html/typo3_src-7.6.15/typo3/sysext/backend/Classes/Http/Application.php: 00092: } 00093: 00094: $this->bootstrap->handleRequest($this->request); 00095: 00096: if ($execute !== null) {

3 TYPO3\CMS\Backend\Http\Application::run()

/home/akj/public_html/typo3_src-7.6.15/typo3/index.php: 00018: call_user_func(function () { 00019: $classLoader = require DIR . '/../vendor/autoload.php'; 00020: (new \TYPO3\CMS\Backend\Http\Application($classLoader))->run(); 00021: });

2 {closure}() 1 call_user_func(Closure)

/home/akj/public_html/typo3_src-7.6.15/typo3/index.php: 00019: $classLoader = require DIR . '/../vendor/autoload.php'; 00020: (new \TYPO3\CMS\Backend\Http\Application($classLoader))->run(); 00021: });

CDRO commented 7 years ago

It seems that the TER Version does not have all the folder....

PeterTheOne commented 7 years ago

I have the same error with TYPO3 7.6.16 and Classes folder is missing. Please fix.

PeterTheOne commented 7 years ago

@lochmueller @beniediek Can you take a look?

PeterTheOne commented 7 years ago

I think #4 fixed this already, there just needs to be a new release?

lochmueller commented 7 years ago

Hey @PeterTheOne I think the extension is not maintained anymore...

lochmueller commented 7 years ago

Fix is already part of the 4.1.0 composer-ready version: composer require lochmueller/perfectlightbox

TER Release will follow shortly...