Fehler 500 & DBModel Read Resource implementiert nicht zend_db_adapter_abstract
-
16-10-2019 - |
Frage
Ich versuche, meine Website (-s) auf einen neuen Server zu verschieben. Auf meinem alten Server befanden sich Magento und Datenbank in derselben Box. Diese Magento -Installation bedient zwei Geschäfte. Ich habe zwei neue Server für die DB und eine nur für Magento gekauft. Mein Migrationspfad war:
- Kopieren Sie die alte Datenbank und verschieben Sie sie auf den neuen Datenbankserver.
- Ändern Sie die DB -Einstellungen in App/etc/local.xml.
- Gereinigt var/ cache und var/ Sitzungen.
So weit, ist es gut. Alles bis hier funktioniert wie immer, keine Fehler. Also wechselte ich zum neuen Server, um Magento zu installieren:
- Download Magento, extrahierte es im Root -Webordner.
- Kopierte alle (!) Dateien vom alten Webserver und setzen Sie sie in das neue.
Berechtigungen geändert in:
chown web37:client1 * -R chown web37:client1 .htaccess find . -type d -exec chmod 755 {} \\; find . -type f -exec chmod 644 {} \\; chmod -R o+w media var chmod o+w app/etc chmod 777 includes includes/config.php rm -rf var/cache/* rm -rf var/session/*
In .htaccess aus geändert
Options +FollowSymLinks
zu
Options FollowSymLinks
und
#RewriteBase /magento/
zu
RewriteBase /
Zu Apache hinzugefügt:
AcceptPathInfo on
Diese Konfiguration gibt die zurück
dbModel read resource does not implement Zend_Db_Adapter_Abstract
Fehler mit der Spur:
#0 /var/www/clients/client1/web3/web/app/code/core/Mage/Core/Model/Resource/Db/Collection/Abstract.php(134): Varien_Data_Collection_Db->setConnection(false)
#1 /var/www/clients/client1/web3/web/app/code/core/Mage/Core/Model/Config.php(1348): Mage_Core_Model_Resource_Db_Collection_Abstract->__construct(Object(Mage_Core_Model_Resource_Website))
#2 /var/www/clients/client1/web3/web/app/code/core/Mage/Core/Model/Config.php(1380): Mage_Core_Model_Config->getModelInstance(\'core_resource/w...\', Object(Mage_Core_Model_Resource_Website))
#3 /var/www/clients/client1/web3/web/app/Mage.php(490): Mage_Core_Model_Config->getResourceModel(\'core/website_co...\', Object(Mage_Core_Model_Resource_Website))
#4 /var/www/clients/client1/web3/web/app/code/core/Mage/Core/Model/Abstract.php(208): Mage::getResourceModel(\'core/website_co...\', Object(Mage_Core_Model_Resource_Website))
#5 /var/www/clients/client1/web3/web/app/code/core/Mage/Core/Model/Abstract.php(213): Mage_Core_Model_Abstract->getResourceCollection()
#6 /var/www/clients/client1/web3/web/app/code/core/Mage/Core/Model/App.php(608): Mage_Core_Model_Abstract->getCollection()
#7 /var/www/clients/client1/web3/web/app/code/core/Mage/Core/Model/App.php(466): Mage_Core_Model_App->_initStores()
#8 /var/www/clients/client1/web3/web/app/code/core/Mage/Core/Model/App.php(349): Mage_Core_Model_App->_initCurrentStore(\'\', \'store\')
#9 /var/www/clients/client1/web3/web/app/Mage.php(683): Mage_Core_Model_App->run(Array)
#10 /var/www/clients/client1/web3/web/index.php(87): Mage::run(\'\', \'store\')
#11 {main}
Wenn Sie die Berechtigungen in 777 des VAR -Ordners ändern, teilt mir der Server mit, dass er einen Fehler von 500 hat, aber ich kann absolut nichts über diesen Fehler in den Fehlerprotokollen sehen Wenn ich den Cache -Ordner lösche oder umbenenne. Nichts hilft und ich weiß nicht wirklich, was ich als nächstes tun kann. Ich habe viele Male viele Male versucht, mich neu zu installieren Hübsch :(
Mitteilungen:
- Wenn ich eine frische Installation ausprobiere, funktioniert alles gut
- Eine neue Installation nach dem Entfernen der alten Local.xml -Datei möchte, dass einige Ordner in 777 in 500 Fehler (nach der Datenbank -Initialisierung) in 500 Fehler unterbrochen werden.
- Beide Server haben die Magento -Anforderungen, beide lokal.xmls sind identisch.
- Alter Magento -Server:
- CentOS 5.9
- H-SPHERE 3.6.1
- Magento Community 1.7.0.2
- mod_php
Neuer Magento -Server:
- CentOS 6.4
- ISPConfig 3.0.5.2
- Magento Community 1.7.0.2
- mod_php
Suphp.conf:
[global] ;Path to logfile logfile=/var/log/httpd/suphp.log ;Loglevel loglevel=info ;User Apache is running as webserver_user=apache ;Path all scripts have to be in docroot=/var/www ;Path to chroot() to before executing script ;chroot=/mychroot ; Security options allow_file_group_writeable=true allow_file_others_writeable=false allow_directory_group_writeable=true allow_directory_others_writeable=false ;Check wheter script is within DOCUMENT_ROOT docroot=/var/www ;Send minor error messages to browser errors_to_browser=false ;PATH environment variable env_path=/bin:/usr/bin ;Umask to set, specify in octal notation umask=0022 ; Minimum UID min_uid=100 ; Minimum GID min_gid=100 [handlers] ;Handler for php-scripts x-httpd-suphp="php:/usr/bin/php-cgi" ;Handler for CGI-scripts x-suphp-cgi="execute:!self" umask=0022 umask=0022
Lösung
Zuerst,
- SUPHP ist langsam, es sei denn, es handelt sich um eine Multi -Mieter -Umgebung
- Warum verwenden Sie einen externen DB -Server mit einem einzelnen Webserver? In den meisten Fällen wird dies langsamer sein als beide im selben System.
Schauen Sie sich die von Ihnen gepostete Konfiguration an. allow_file_others_writable
und allow_directory_others_writable
ist auf false eingestellt. Dh. Sie dürfen 777 nicht verwenden, bis Sie diese Einstellungen ändern.
Der gesamte Punkt von SUPHP ist jedoch so, dass die Berechtigungen eng werden können (z. B. 744 und 644), da der PHP -Prozess zunächst der richtige Benutzer läuft.
Stellen Sie sicher, dass Sie über die Befehlszeile tatsächlich eine Verbindung zu Ihrem DB -Server herstellen können - es sieht aus wie eine falsch konfigurierte Einrichtung.
Andere Tipps
Ich habe den gleichen Fehler bekommen, wenn ich versuche, den Laden zu verbessern.
Wie ich dieses Problem vermeide, Sicherung aller Drittanbieter -Erweiterungsmodul XML -Dateien (aus App/etc/modules) und dann diese Dateien aus App/etc/modules entfernen.
Damit ist über dem Fehler verschwunden. Ich habe Magento installiert und dann Erweiterungsdateien zurückgefügt. Alle Dinge funktionierten wie erwartet.
Hoffe das wird dir helfen.