Nach Serverumzug kein Frontend (Fehler: 503)

Hi,

für den Umzug auf ein neues System bereite ich grade das Shopware auf dem Zielsystem (ip only, kein fqdn) vor. Der Demoshop lief hier schon erfolgreich. Dann zog ich die DB und die Scripte vom Produktivsystem in das neue System und migrierte alles ordentlich nach Anleitung (db anpassen, Rechte setzen, Shop registieren/lizensieren usw.). Das Backend funktioniert nun auch, aber beim Frontend erscheint immer nur ein Fehler 503.

Meine einzige Vermutung ist, dass das bezahlte dashone Theme sich quer stellt. Dieses ist ja nur für die Produktiv-Domain registiert. Abschalten des “Plugins” hat noch nichts gebracht.

Das Theme einfach zu wechseln funktioniert aber nicht. Beim Klick auf Theme “zuweisen” passiert einfach nichts. Im Insprector ist zu sehen, dass der Aufruf von: http:///backend/theme/assign ebenso ein 503 im Hintergrund bekommt.

Hast Du in den Shopware-Logs und im Error-Log der Website geschaut, ob es dort Einträge gibt, die zu Deinem Problem passen?

Timme Hosting - schnelles nginx-Hosting

www.timmehosting.de

Apache ist leer. Aber das Shopware Error log könnte was aufzeigen:

PHP Fatal error:  Uncaught exception ‘RuntimeException’ with message 'Unable to create the store directory (/home/phprunner/shopware/var/cache/production_201607131117/html

Die 2 Fehler in der Log im ganzen:

[Mon Jul 18 07:29:32.059580 2016] [:error] [pid 14334] [client 95.90.215.51:54062] PHP Fatal error: Uncaught exception 'RuntimeException' with message 'Unable to create the store directory (/home/phprunner/shopware/var/cache/production_201607131117/html).' in /home/phprunner/shopware/vendor/symfony/http-kernel/HttpCache/Store.php:42\nStack trace:\n#0 /home/phprunner/shopware/engine/Shopware/Components/HttpCache/Store.php(59): Symfony\\Component\\HttpKernel\\HttpCache\\Store->__construct('/home/phprunner...')\n#1 /home/phprunner/shopware/engine/Shopware/Components/HttpCache/AppCache.php(271): Shopware\\Components\\HttpCache\\Store->__construct('/home/phprunner...', Array, true)\n#2 /home/phprunner/shopware/engine/Shopware/Components/HttpCache/AppCache.php(85): Shopware\\Components\\HttpCache\\AppCache->createStore()\n#3 /home/phprunner/shopware/shopware.php(96): Shopware\\Components\\HttpCache\\AppCache->__construct(Object(Shopware\\Kernel), Array)\n#4 {main}\n thrown in /home/phprunner/shopware/vendor/symfony/http-kernel/HttpCache/Store.php on line 42

[Mon Jul 18 07:31:59.820379 2016] [:error] [pid 31240] [client 95.90.215.51:54072] PHP Fatal error: Uncaught exception 'Doctrine\\ORM\\Mapping\\MappingException' with message 'The target-entity Shopware\\Models\\Attribute\\ProductStream cannot be found in 'Shopware\\Models\\ProductStream\\ProductStream#attribute'.' in /home/phprunner/shopware/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/MappingException.php:762\nStack trace:\n#0 /home/phprunner/shopware/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php(1023): Doctrine\\ORM\\Mapping\\MappingException::invalidTargetEntityClass('Shopware\\\\Models...', 'Shopware\\\\Models...', 'attribute')\n#1 /home/phprunner/shopware/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php(272): Doctrine\\ORM\\Mapping\\ClassMetadataInfo->validateAssociations()\n#2 /home/phprunner/shopware/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php(251): Doctrine\\ORM\\Mapping\\ClassMetadataFactory->validateRuntimeMetadata(Object(Doctrine\\ORM\\Mapping\\ClassMetadata), NULL)\n#3 /home/phprunner/shopware/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/A in /home/phprunner/shopware/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/MappingException.php on line 762

 

Hallo,

hier scheinen die Berechtigungen für das Verzeichnis /var/cache/ nicht zu stimmen. Diese mal auf 775 bzw 776 abändern und eventuell den Benutzer (NGINX z.B.: www-data) anpassen.

Gruß

1 „Gefällt mir“

Danke für den Tipp, das war es aber leider scheinbar nicht:

root@phphost:/home/phprunner# ll shopware/var/
total 8
drwxr-xr-x 3 www-data www-data 4096 Jul 18 07:25 cache
drwxr-xr-x 2 www-data www-data 4096 Jul 18 07:34 log
root@phphost:/home/phprunner# ll shopware/var/cache/
total 8
-rwxrwxrwx 1 www-data www-data  493 Jul 17 19:23 clear_cache.sh
drwxr-xr-x 8 www-data www-data 4096 Jul 18 07:31 production_201607131117

 

Versuch mal über das Backend den Cache vollständig zu leeren und prüfe dann ob sich an der Exception etwas geändert hat.

Beim löschen des Caches über dass Backend kommt:

[2016-07-18 21:52:17] core.ERROR: Unable to Connect to tcp://:80. Error #111: Connection refused {"exception":"[object] (Zend_Http_Client_Adapter_Exception(code: 0): Unable to Connect to tcp://:80. Error #111: Connection refused at /home/phprunner/shopware/engine/Library/Zend/Http/Client/Adapter/Socket.php:235)"} {"uid":"c70c9a4"}

 

und beim Aufruf des Frontends dananch:

[2016-07-18 21:57:43] core.ERROR: exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'element_id' cannot be null' in /home/phprunner/shopware/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:987 Stack trace: #0 /home/phprunner/shopware/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(987): PDOStatement->execute() #1 /home/phprunner/shopware/engine/Shopware/Components/Theme/DBALTimestampPersistor.php(87): Doctrine\DBAL\Connection->executeUpdate('INSERT INTO s_c...', Array) #2 /home/phprunner/shopware/engine/Shopware/Components/Theme/DBALTimestampPersistor.php(63): Shopware\Components\Theme\DBALTimestampPersistor->updateTimestamp(1, 1468871863) #3 /home/phprunner/shopware/engine/Library/Enlight/Template/Plugins/function.themeTimestamp.php(34): Shopware\Components\Theme\DBALTimestampPersistor->getCurrentTimestamp(1) #4 /home/phprunner/shopware/var/cache/production_201607131117/templates/frontend_DashoneV2_de_DE_1/a7/81/a2/a781a260240c6efa4635aa74635e23f34b66f49e.snippet.index.tpl.php(568): smarty_function_themeTimestamp(Array, Object(Enlight_Template_Default)) #5 /home/phprunner/shopware/var/cache/production_201607131117/templates/frontend_DashoneV2_de_DE_1/a7/81/a2/a781a260240c6efa4635aa74635e23f34b66f49e.snippet.index.tpl.php(227): content_578d34b69f5b25_60596072(Object(Enlight_Template_Default)) #6 /home/phprunner/shopware/engine/Library/Smarty/sysplugins/smarty_internal_templatebase.php(180): content_578d34b72a6912_60514876(Object(Enlight_Template_Default)) #7 /home/phprunner/shopware/engine/Library/Enlight/View/Default.php(274): Smarty_Internal_TemplateBase->fetch() #8 /home/phprunner/shopware/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(216): Enlight_View_Default->render(Object(Enlight_Template_Default)) #9 /home/phprunner/shopware/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(242): Enlight_Controller_Plugins_ViewRenderer_Bootstrap->renderTemplate(Object(Enlight_Template_Default)) #10 /home/phprunner/shopware/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(136): Enlight_Controller_Plugins_ViewRenderer_Bootstrap->render() #11 [internal function]: 

[...gekürzt...]

Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp)) #17 /home/phprunner/shopware/engine/Shopware/Kernel.php(176): Enlight_Controller_Front->dispatch() #18 /home/phprunner/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(487): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #19 /home/phprunner/shopware/engine/Shopware/Components/HttpCache/AppCache.php(255): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #20 /home/phprunner/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(444): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true) #21 /home/phprunner/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(344): Symfony\Component\HttpKernel\HttpCache\HttpCache->fetch(Object(Symfony\Component\HttpFoundation\Request), true) #22 /home/phprunner/shopware/engine/Shopware/Components/HttpCache/AppCache.php(178): Symfony\Component\HttpKernel\HttpCache\HttpCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true) #23 /home/phprunner/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(210): Shopware\Components\HttpCache\AppCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true) #24 /home/phprunner/shopware/engine/Shopware/Components/HttpCache/AppCache.php(114): Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #25 /home/phprunner/shopware/shopware.php(101): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request)) #26 {main} [] {"uid":"a1e90a3"}

 

Hab grade mal geschaut, die Datanbank Value “element_id” kommt in der Produktiv-DB zwar in der Strucktur vor, erhält aber nie Werte. Anders in der ehemaligen Demoshop-DB, die auch mehrere Einträge dafür hat. Nun lassen sich beide DBs aber schlecht mergen.

Nachtrag: Beim Cache leeren über  var/cache/clear_cache.sh scheint es auch Probleme zu geben, denn da kommt folgende Ausgabe:

Clearing caches

 WARNING! The target-entity Shopware\Models\Attribute\PropertyOption cannot be found in ‚Shopware\Models\Property\Option#attribute‘. in /home/phprunner/shopware/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/MappingException.php

                                                                                              
  [Doctrine\ORM\Mapping\MappingException]                                                     
  The target-entity Shopware\Models\Attribute\PropertyOption cannot be found in ‚Shopware\Mo  
  dels\Property\Option#attribute‘.                                                            
                                                                                              

sw:generate:attributes

 

Läuft denn der PHP-Prozeß unter dem Benutzer/der Gruppe www-data? Wenn Du z.B. PHP-FPM oder FastCGI statt mod_php einsetzt, kann das u.U. ein ganz anderer Benutzer bzw. Gruppe sein.

Timme Hosting - schnelles nginx-Hosting

www.timmehosting.de

Das Problem hat sich in Luft auf gelöst, nach dem der Umzug einfach nochmal komplett wiederholt wurde. Dieses Mal wurde allerdings das Programm Adminer (PHP) statt mysqldump & phpmyadmin für ex-/import der Datenbank verwendet. Da der Zielserver noch keine Domain hat, wurde nur die IP als Host eingetragen und da sich vorher hinter dem hostnamen noch ein “\n” (kein Ahnung was das soll) befand, wurde dieses jedoch beibehalten.  Aus der Zipdatei wurde die .htaccess manuell rausgeholt, da unzip diese scheinbar nicht mit rausgeholt hat.

 

Danke an alle, die sich den den Kopf mit mir zerbrochen haben.

VG

Rowa

\n = new line = Zeilenumbruch

@Synonymous schrieb:

\n = new line = Zeilenumbruch

 

Danke für den Hinweis. Sorry, das ich mich das etwas unzureichend ausgedrückt hab, denn das es sich dabei um den Zeilenvorschub handelt wusste ich schon und fragte mich eher, was das im hostfeld zu suchen hat. Ich kann mir nicht vorstellen, dass das so gewollt war. Aber es funktioniert ja jetzt auch damit. Dazu muss ich sagen, dasd der „host“-Eintrag im exportieren *.sql file direkt vorgenommen wurde und nicht im adminer (oder phpmyadmin).

VG

Rowa