Impossible d'accéder au front-end ou à l'administrateur de Magento après la migration vers l'environnement MAMP local

magento.stackexchange https://magento.stackexchange.com//questions/62593

Question

Je dois copier la boutique en ligne dans mon environnement local pour y travailler avant d'appliquer ces modifications sur la version de production.J'ai consulté plusieurs tutoriels sur la façon de déplacer une boutique magento vers votre hôte local et voici une liste des choses que j'ai faites :

  1. copié les fichiers du serveur vers un dossier appelé Myfolder dans MAMP / Projects / Myfolder ainsi que pour exporter la base de données

  2. édité l'application / etc / local.xml pour mon environnement local, ce sont les lignes que j'ai éditées

    <host><![CDATA[localhost]]></host>
    <username><![CDATA[root]]></username>
    <password><![CDATA[root]]></password>
    <dbname><![CDATA[my_db_name]]></dbname>
    
  3. Dans phpmyadmin à l'intérieur de ma base de données, je suis allé à la table M_CORE_CONFIG_DATA et j'ai édité le web / non pascture / base_url et le web / secture / base_url que j'ai utilisé http://localhost/projects/myfolder/

  4. Modification des autorisations pour les dossiers :var;médias, etc. dans le dossier de l'application
  5. J'ai également vidé le dossier var/cache

Cependant, Magento renvoie une erreur.Je ne peux accéder ni au front-end ni au back-end.Que puis-je faire pour commencer à gérer le site Web localement ?

Le fichier journal indique :

a:4:{i:0;s:106:"SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket 'localhost/projects/myfolder' (2)";i:1;s:2832:"#0 /Users/Anton/Documents/mamp/projects/myfolder/lib/Zend/Db/Adapter/Pdo/Mysql.php(96): Zend_Db_Adapter_Pdo_Abstract->_connect()
#1 /Users/Anton/Documents/mamp/myfolder/myfolder/lib/Varien/Db/Adapter/Pdo/Mysql.php(313): Zend_Db_Adapter_Pdo_Mysql->_connect()
#2 /Users/Anton/Documents/mamp/projects/myfolder/lib/Zend/Db/Adapter/Abstract.php(459): Varien_Db_Adapter_Pdo_Mysql->_connect()
#3 /Users/Anton/Documents/mamp/projects/myfolder/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('SET NAMES utf8', Array)
#4 /Users/Anton/Documents/mamp/projects/myfolder/lib/Varien/Db/Adapter/Pdo/Mysql.php(419): Zend_Db_Adapter_Pdo_Abstract->query('SET NAMES utf8', Array)
#5 /Users/Anton/Documents/mamp/projects/myfolder/app/code/core/Mage/Core/Model/Resource.php(169): Varien_Db_Adapter_Pdo_Mysql->query('SET NAMES utf8')
#6 /Users/Anton/Documents/mamp/projects/myfolder/app/code/core/Mage/Core/Model/Resource.php(110): Mage_Core_Model_Resource->_newConnection('pdo_mysql', Object(Mage_Core_Model_Config_Element))
#7 /Users/Anton/Documents/mamp/projects/myfolder/app/code/core/Mage/Core/Model/Resource/Db/Abstract.php(320): Mage_Core_Model_Resource->getConnection('core_write')
#8 /Users/Anton/Documents/mamp/projects/myfolder/app/code/core/Mage/Core/Model/Resource/Db/Abstract.php(350): Mage_Core_Model_Resource_Db_Abstract->_getConnection('write')
#9 /Users/Anton/Documents/mamp/projects/myfolder/app/code/core/Mage/Core/Model/Resource/Db/Abstract.php(335): Mage_Core_Model_Resource_Db_Abstract->_getWriteAdapter()
#10 /Users/Anton/Documents/mamp/projects/myfolder/app/code/core/Mage/Core/Model/Resource/Cache.php(53): Mage_Core_Model_Resource_Db_Abstract->_getReadAdapter()
#11 /Users/Anton/Documents/mamp/projects/myfolder/app/code/core/Mage/Core/Model/Cache.php(455): Mage_Core_Model_Resource_Cache->getAllOptions()
#12 /Users/Anton/Documents/mamp/projects/myfolder/app/code/core/Mage/Core/Model/Cache.php(497): Mage_Core_Model_Cache->_initOptions()
#13 /Users/Anton/Documents/mamp/projects/myfolder/app/code/core/Mage/Core/Model/App.php(1183): Mage_Core_Model_Cache->canUse('config')
#14 /Users/Anton/Documents/mamp/projects/myfolder/app/code/core/Mage/Core/Model/Config.php(414): Mage_Core_Model_App->useCache('config')
#15 /Users/Anton/Documents/mamp/projects/myfolder/app/code/core/Mage/Core/Model/Config.php(294): Mage_Core_Model_Config->_canUseCacheForInit()
#16 /Users/Anton/Documents/mamp/projects/myfolder/app/code/core/Mage/Core/Model/App.php(413): Mage_Core_Model_Config->loadModulesCache()
#17 /Users/Anton/Documents/mamp/projects/myfolder/app/code/core/Mage/Core/Model/App.php(343): Mage_Core_Model_App->_initModules()
#18 /Users/Anton/Documents/mamp/projects/myfolder/app/Mage.php(683): Mage_Core_Model_App->run(Array)
#19 /Users/Anton/Documents/mamp/projects/myfolder/index.php(87): Mage::run('', 'store')
#20 {main}";s:3:"url";s:20:"/projects/myfolder/cp";s:11:"script_name";s:27:"/projects/myfolder/index.php";}

Numéro d'enregistrement du journal des erreurs :565449617885 et Magento Ver 1.7.0.2

Après avoir redémarré MAMP plusieurs fois et effacé le dossier var, je ne vois plus ces erreurs.Cependant, je suis confronté à un nouveau problème, lorsque j'essaie d'accéder au site Web localement, je tape localhost/projects/myfolder/ et il redirige vers la version live avec www.webstore.com dans la barre d'adresse.Après un certain temps de recherche, j'ai pensé qu'il devait s'agir de la base de réécriture dans le fichier .htaccess.J'ai fini par le remplacer par un nouveau magento, mais il me redirige toujours vers la version live.Je n'arrive pas à trouver la solution en ligne

Était-ce utile?

La solution

Antk, il existe des interactions bien documentées et quelque peu étranges entre MySQL et PHP sur les systèmes d'exploitation Unix où les connexions sockets et TCP sont possibles via localhost (discussion détaillée ici) et des comportements bizarres très spécifiques de la bibliothèque PHP PDO relatifs à la façon dont les connexions client MySQL sont initiées via l'implémentation des sockets (discussion détaillée ici)....

MAIS

tl;dr :Ne perdez pas votre temps à chercher comment résoudre les particularités entre la version locale de votre système d'exploitation, une ancienne version de Magento et la version spécifique du client/serveur MySQL dans votre pile MAMP.Il est plus facile d'abandonner MAMP, de récupérer une machine virtuelle et de l'utiliser pour développer localement, et cela ressemble davantage à l'environnement de production dans lequel vous allez exécuter votre code lorsque vous le déployez.

OPTION 1 > Abandonner MAMP pour un environnement de développement de VM

Voici les moyens les plus rapides d’abandonner MAMP et d’opter pour le développement de VM pour votre version de Magento :

  1. RAPIDE ET SIMPLE :Saisir un Pile Magento 1.7.0.2 pré-construite BitNami prête à s'exécuter au démarrage sur une VM Ubuntu (Tu auras besoin de boîte virtuelle (gratuit) ou un autre système de virtualisation comme Parallèles ou VMware Fusion).Bien que ce soit la voie la plus rapide, la façon dont BitNami présente le système de fichiers et configure Apache et PHP présente quelques bizarreries qui seront probablement différentes de votre environnement de production, mais cela fonctionnera au démarrage car il est complètement autonome.

  2. PLUS LENT mais CONTRÔLÉ :Installation vagabond et boîte virtuelle utiliser une VM pour votre développement local via l'un des de nombreux scripts qui fourniront vagrant et configureront Magento pour vous dans votre VM.Cela vous donne la plus grande flexibilité pour le configurer comme vous en avez besoin, mais nécessite que vous effectuiez la configuration une fois le provisionnement de base effectué via vagrant et cela peut prendre plus de temps.

Je ne sais pas non plus si phpMyAdmin est inclus dans ce fichier vagrant, mais il est inclus dans l'image BitNami si vous préférez l'utiliser plutôt que de vous connecter au serveur via un MySQL Workbench ou un autre éditeur SQL.

Si vous avez envie d'une aventure (ou si vous vous infligez une certaine torture), ces deux options vous guident à travers le meilleur itinéraire pour résoudre votre erreur spécifique et aller au fond de ce qui se passe avec votre installation MAMP :

-

OPTION 2 > Modifier votre fichier php.ini

Comme l'indique le premier lien, vous pouvez forcer la bibliothèque PDO à utiliser des sockets si vous connaissez le nom du socket :

(soit en regardant dans le fichier php.ini soit en utilisant :phpmyadmin ou la console (ou construisez-la dans mysql ou mysqli)... pour exécuter la requête suivante (tout sauf PDO) :

show variables like 'socket'; //as mentioned by symcbean

ALORS, dans la chaîne de connexion PDO, modifiez-la pour utiliser le socket au lieu d'un nom d'hôte :

> $dbc = new
> PDO("mysql:unix_socket=/var/run/mysqld/mysqld.sock;dbname=$DBName",
> $User, $Password, array(PDO::ATTR_PERSISTENT => true));   // using
> persistent connections

OPTION 3 > Mettez à jour votre fichier app/etc/local.xml.

Changement localhost à 127.0.0.1 ou à l'adresse IP de votre Mac et la bibliothèque PDO devrait pouvoir initier une connexion depuis le client MySQL => Serveur.

Configuration mise à jour ci-dessous :

<host><![CDATA[127.0.0.1]]></host>
<username><![CDATA[root]]></username>
<password><![CDATA[root]]></password>
<dbname><![CDATA[my_db_name]]></dbname>

ou

<host><![CDATA[192.168.0.1]]></host>
<username><![CDATA[root]]></username>
<password><![CDATA[root]]></password>
<dbname><![CDATA[my_db_name]]></dbname>

Ces pourrait fonctionne, mais nécessite de modifier directement le pilote PDO dans les fichiers principaux, ce qui va à l'encontre des meilleures pratiques recommandées en matière de développement Magento OU d'implémenter un pilote remplacé qui n'est utilisé que sur votre instance de développement locale (cela semble demander beaucoup de travail pour obtenir un pilote de développement environnement de travail si vous me demandez...)

Autres conseils

After taking time off I got back to this issue. I extracted the database once more and dropped off the log table content which noticeably reduced the size of the sql file. Dropped the content of my local database and inserted the tables using the new sql file. After reediting the base urls I could access the development version of the site on my machine.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top