Hey, ich versuche einen Serverumzug zu HE. Habe alle Dateien und DB kopiert. Folgende Fehlermeldung erhalte ich: Fatal error: Uncaught exception ‚RuntimeException‘ with message ‚DirectoryIterator::__construct(/is/htdocs/wp10597259_6K9W8HOMHI/www/system/SHOP/2/dealertyre/engine/Shopware/Controllers/) [directoryiterator.–construct]: failed to open dir: Permission denied‘ in /is/htdocs/wp10597259_6K9W8HOMHI/www/system/SHOP/2/dealertyre/engine/Enlight/Enlight/Controller/Dispatcher/DispatcherDefault.php:111 Stack trace: #0 /is/htdocs/wp10597259_6K9W8HOMHI/www/system/SHOP/2/dealertyre/engine/Enlight/Enlight/Controller/Dispatcher/DispatcherDefault.php(111): DirectoryIterator->__construct(’/is/htdocs/wp10…’) #1 /is/htdocs/wp10597259_6K9W8HOMHI/www/system/SHOP/2/dealertyre/engine/Enlight/Enlight/Bootstrap.php(51): Enlight_Controller_Dispatcher_DispatcherDefault->addModuleDirectory(’/is/htdocs/wp10…’) #2 /is/htdocs/wp10597259_6K9W8HOMHI/www/system/SHOP/2/dealertyre/engine/Enlight/Enlight/Bootstrap.php(182): Enlight_Bootstrap->initFront() #3 /is/htdocs/wp10597259_6K9W8HOMHI/www/system/SHOP/2/dea in /is/htdocs/wp10597259_6K9W8HOMHI/www/system/SHOP/2/dealertyre/engine/Enlight/Enlight/Controller/Dispatcher/DispatcherDefault.php on line 114 Die Rechte habe ich wie beschrieben gesetzt: nschließend müssen Sie nur noch die Verzeichnisrechte setzen. Bitte ändern Sie die Rechte der folgenden Verzeichnisse auf 777 (Unter Windows nicht notwendig!) /cache/database /cache/templates /images/articles und alle anderen Unterordner /files/documents und alle anderen Unterordner /uploads/ /engine/Shopware/Proxies /engine/Enlight/Vendor/mpdf/tmp und mpdf/ttfontdata Was könnte der Grund sein? Danke
Okay, der Fehler ist nun weg, Jetzt kommt aber dies: Enlight/Zend/Cache/Backend/File.php(155): Zend_Cache::throwException(‘cache_dir must …’) #1 Enlight/Zend/Cache/Backend/File.php(122): Zend_Cache_Backend_File->setCacheDir(’/kunden/142583_…’) #2 Vendor/Zend/library/Zend/Cache.php(153): Zend_Cache_Backend_File->__construct(Array) #3 Vendor/Zend/library/Zend/Cache.php(94): Zend_Cache::_makeBackend(‘File’, Array, false, false) #4 Shopware/Plugins/Local/Frontend/DynamicForm/Bootstrap.php(50): Zend_Cache::factory(‘Core’, ‘File’, Array, Array) #5 Enlight/Event/EventHandler.php(60): Shopware_Plugins_Frontend_DynamicForm_Bootstrap::onPostDispatch(Object(Enlight_Event_EventArgs)) #6 Enlight/Event/EventManager.php(70): Enlight_Event_EventHandler->execute(‘Shopware_Plugin…’, Object(Enlight_Event_EventArgs)) #7 Enlight/Controller/Action.php(76): Enlight_Event_EventManager->notify(Object(Enlight_Event_EventArgs)) #8 Enlight/Controller/Dispatcher/DispatcherDefault.php(329): Enlight_Controller_Action->dispatch(‘Enlight_Control…’, Array) #9 Enlight/Controller/Front.php(99): Enlight_Controller_Dispatcher_DispatcherDefault->dispatch(‘indexAction’) #10 Shopware/Bootstrap.php(33): Enlight_Controller_Front->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp)) #11 Enlight/Application.php(86): Shopware_Bootstrap->run() #12 shopware.php(6): Enlight_Application->run() #13 {main} Das Backend geht überhaupt nicht. Das sieht alles nach Rechteproblemen aus. Gibt es ein Script welches das erledigt?
So, Backend läuft nun fast… Die Systemvorausetzungen sind nun alle grün. Im Backend kann ich aber das Fenster zum Cache leeren nicht öffnen und im Frontend erhalte ich immer noch dies: Fatal error: Uncaught exception ‘Zend_Cache_Exception’ with message ‘cache_dir must be a directory’ in /is/htdocs/wp10597259_6K9W8HOMHI/www/system/SHOP/2/dealertyre/engine/Enlight/Vendor/Zend/library/Zend/Cache.php:209 Stack trace: #0 /is/htdocs/wp10597259_6K9W8HOMHI/www/system/SHOP/2/dealertyre/engine/Enlight/Enlight/Zend/Cache/Backend/File.php(155): Zend_Cache::throwException(‘cache_dir must …’) #1 /is/htdocs/wp10597259_6K9W8HOMHI/www/system/SHOP/2/dealertyre/engine/Enlight/Enlight/Zend/Cache/Backend/File.php(122): Zend_Cache_Backend_File->setCacheDir(’/kunden/142583_…’) #2 /is/htdocs/wp10597259_6K9W8HOMHI/www/system/SHOP/2/dealertyre/engine/Enlight/Vendor/Zend/library/Zend/Cache.php(153): Zend_Cache_Backend_File->__construct(Array) #3 /is/htdocs/wp10597259_6K9W8HOMHI/www/system/SHOP/2/dealertyre/engine/Enlight/Vendor/Zend/library/Zend/Cache.php(94): Zend_Cache::_makeBackend(‘File’, Array, false, false) #4 /is/htdocs/wp10597259_6K9W8HOMHI/www/system/SHOP/2/dealertyre/engine/Shopware/Plugins/Local/Frontend/DynamicFor in /is/htdocs/wp10597259_6K9W8HOMHI/www/system/SHOP/2/dealertyre/engine/Enlight/Vendor/Zend/library/Zend/Cache.php on line 209
Wo befindet sich der ZEND Cache Ordner?
[quote=„ottscho“]Wo befindet sich der ZEND Cache Ordner?[/quote] Hallo Herr Ott, der müsste aus Sicht des Shop-Roots in /cache/database/shopware--Zend/
liegen. Die Verzeichnisse unterhalb cache/database und der Inhalt von cache/templates kann einfach gelöscht werden ohne das dies negative Auswirkungen hat. (Außer das die Serverlast für den Neuaufbau des Caches nach oben schnellt). Viele Grüße Klaus Mohn
Hallo Herr Mohn, danke. Das war es aber leider nicht. Der Ordner ist vorhanden. Der Hund muss wo anders begraben sein…
Hallo, sorry, da war ich auf dem Holzweg. Hab mir gerade mal die, in der Fehlermeldung angegebene Datei file.php angesehen. Hier wird ein Array $options gesetzt wobei cache_dir auf null gesetzt ist. In der Constructor Funktion ab Zeile 111 wird dann versucht das Verzeichnis zu setzen. Da $options[‘cache_dir’] NULL ist wird versucht das tmp Verzeichnis des Servers zu ermitteln. Vermutlich liegt da der Hund begragen. Versuchen Sie einmal mit einem einfachen php Script und dem Befehl sys_get_temp_dir das tmp Verzeichnis für die PHP Installation zu ermitteln. Vielleicht hilft die Angabe des korrekten Verzeichnisses in Zeile 99 der file.php weiter. Bei den anderen Dateien dann vermutlich ähnlich. Wenn kein tmp-Verzeichnis für die PHP Installation gesetzt ist bzw. das Serververzeichnis /tmp bei einem Shared Hosting Account kann es sein, dass ein eigenes tmp Verzeichnis gesetzt werden muss auf das der http User des Accounts Zugriff hat. Viele Grüße Klaus
Welche Betriebsystem hast du auf Server? probiermal in cache-Ordner chown www-data:www-data -R . chmod 777 -R .
Aber wirklich erst in cache-Ordner gehen, sonst machst du System kaputt.
Danke allen für die Hilfe. Wir machen nun eine komplette Neuinstallation. An dem System wurde zuvor viel gemacht. Angeblich wurde auch am Caching was geändert etc. Daher heißt es nun - Neuinstallation - Wahrscheinlich passt das System bei HE nicht mit dem alten Vorgaben überein… Schönen Abend
Auch wenn der Thread schon Ewigkeiten alt ist (hatte den Fehler eben auch): Die komplette Neuinstallation war in diesem Fall unnötig. Der Fehler entsteht, wenn nicht alle Cache Folder korrekt angelegt sind. Folgende Ordner sind notwenig: ./cache/doctrine/ ./cache/doctrine/attributes/ ./cache/doctrine/filecache/ ./cache/doctrine/proxies/ ./cache/general/ ./cache/html/ ./cache/proxies/ ./cache/templates/ ./cache/compile/
Bei neueren Versionen, sind nur folgende Ordner notwendig: ./cache/database/ ./cache/temlates/
Alle brauchen chmod 0777 Bei der neuen Version von Shopware werden hoffentlich alle Ordner automatisch erstellt…