Erreur 500 et dbModel lire ressource ne met pas en œuvre Zend_Db_Adapter_Abstract
-
16-10-2019 - |
Question
Je suis en train de déplacer mon site Web (-s) vers un nouveau serveur. Sur mon ancien serveur, Magento et base de données étaient sur la même case. Cette installation Magento a deux magasins. Je l'ai acheté deux nouveaux serveurs pour un DB et une pour Magento seulement. Mon chemin de migration était:
- Copie ancienne base de données et le déplacer vers le nouveau serveur de base de données.
- Modifier les paramètres DB dans app / etc / local.xml.
- Nettoyé var / cache et var / sessions.
Jusqu'à présent, si bon. Tout fonctionne ici jusqu'à ce que comme d'habitude, aucune erreur. Donc, je me suis déplacé à nouveau serveur à installer Magento:
- téléchargés Magento, il extrait dans le dossier Web racine.
- Copié tous (!) Les fichiers de vieux serveur web et le mettre dans le nouveau.
-
Modification des autorisations à:
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/*
-
Changement dans .htaccess de
Options +FollowSymLinks
à
Options FollowSymLinks
et
#RewriteBase /magento/
à
RewriteBase /
-
Ajouté à Apache:
AcceptPathInfo on
cette configuration rend le
dbModel read resource does not implement Zend_Db_Adapter_Abstract
erreur avec la trace:
#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}
Si le changement des autorisations à 777 du var dossier le serveur me dit qu'il avait une erreur 500, mais je peux voir absolument rien sur cette erreur dans les journaux d'erreur bien que si je change le niveau de journalisation Apache \ « LogLevel debug \ » :( même si je supprimer ou renommer le dossier cache. Rien aide et je ne sais pas vraiment ce que je peux faire. Je l'ai essayé beaucoup de fois réinstaller et je travaille pour résoudre le problème presque depuis une semaine. Tous aide serait bien: (
Avis:
- Si j'essayer une nouvelle installation tout fonctionne bien
- Une nouvelle installation supprimer après l'ancien fichier local.xml veut que certains dossiers à 777, mais les pauses à l'étape suivante (après la base de données initialisant) dans 500 erreur.
- Les deux serveur ont les exigences Magento, les deux local.xml \ 's sont identiques.
- Old Magento serveur:
- CentOS 5.9
- H-Sphere 3.6.1
- Magento Community 1.7.0.2
- mod_php
-
Nouveau serveur Magento:
- 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
La solution
Tout d'abord,
- suPHP est lent, à moins qu'il est un environnement de locataire à plusieurs, il suffit d'utiliser mod_php - son beaucoup plus simple à gérer et confugure
- Pourquoi vous utilisez un serveur de base de données externe avec un seul serveur web. Dans la majorité des cas, ce sera plus lent que les deux être sur le même système.
Regardez la configuration que vous avez affichée, allow_file_others_writable
et allow_directory_others_writable
est définie sur false. C'est à dire. Vous n'êtes pas autorisé à utiliser 777 jusqu'à ce que vous modifiez les paramètres.
Mais le point entier de suPHP est donc que les autorisations peuvent être serrés (par exemple. 744 et 644), car le processus PHP fonctionne comme l'utilisateur droit de commencer.
Assurez-vous que vous pouvez réellement se connecter à votre serveur DB via la ligne de commande -. Il ressemble à un mal configuré mis en place
Autres conseils
Je suis la même erreur quand je suis en train de mettre à niveau magasin.
Comment puis-je éviter ce problème, Sauvegarde tous les modules d'extension 3ème partie des fichiers xml (à partir app / etc / modules), puis supprimer ces fichiers app / etc / modules.
Avec cela, l'erreur ci-dessus est disparu. J'ai installé Magento, puis ajouter des fichiers d'extensions en arrière. Toutes les choses ont fonctionné comme prévu.
Espérons que cela vous aidera.