Jump to content
pupucecd

Transfert site local <-> site distant

Recommended Posts

Bonjour, j'ai tenté de suivre ce tuto mais il ne correspond pas à version que j'ai.

Voici le contexte

J'ai un site prestashop en version 1.7.2.2, chez 1and1

Je souhaite le mettre en local pour y faire des tests avant certaines modifications.

Ce que j'ai fait sur site distant

  • Sauvegarde de la BdD MySQL depuis le site distant
  • Sauvegarde de l'intégralité du site prestashop

Ce que j'ai fait sur site local

  • Sur mon PC, j'ai installé XAMPP en version 7.1.31 pour que cela soit en cohérence avec la version PHP sur serveur 1and1 et le fait que la version 1.7.2.2 n'accepte que PHP 7.1.31
  • Via PHPMySQL, j'ai créé une nouvelle BdD, qui a le même nom que celle sur le site distant
  • J'ai créé un user/mdp pour mysql identique à celui utilisé pour le site distant
  • J'ai importé la BdD du site distant sur le MySQL local -> OK aucune erreur
  • J'ai copié l'intégralité du site dans le dossier d'apache
  • J'ai supprimé le .htaccess à la racine du site local

Et je suis bloquée ici

  • Supprimez le fichier /cache class_index.php (il sera regénéré automatiquement)
    • Je n'ai pas ce fichier dans ce répertoire
    • J'en ai 2 dans
      • \app\cache\dev
      • \app\cache\prod
  • Modifiez les valeurs de la table ps_shop_url suivant votre configuration (domaine et sous-répertoire)
    • Je mis localhost:port (j'ai changé le port car apache ne se lancait pas sur le port 80)
  • Vérifiez dans la table ps_configuration et tables de contenus (configuration, cms_lang, etc...) si des urls "en dur" ne trainent pas
    • j'ai regardé dans ps_configuration, je n'ai rien vu
    • je n'ai pas compris pour cms, lang,... est-ce les tables nommées : ps_cms, ps_cms_... si c'était ça -> OK
  • Editez le fichier /config/settings.inc.php en remplaçant les 4 valeurs suivantes par celle permettant de se connecter à votre nouvelle base:
    • define('_DB_SERVER_', 'localhost_ou_autre_suivant_votre_hébergeur');
    • define('_DB_NAME_', 'nom_de_la_base');
    • define('_DB_USER_', 'nom_du_user_autorisé_à_se_connecter_à_la_base');
    • define('_DB_PASSWD_', 'mot_de_passe_de_la_base');
      • Mon fichier settings.inc.php contient ces lignes
        • <?php
          //@deprecated 1.7

Résultat

  • 500 Server Error

J'ai mis config/defines.inc.php -> PS_MOD_DEV en true

 

 

[PrestaShopException]

Link to database cannot be established:SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: H�te inconnu.
at line 102 in file classes/db/DbPDO.php

97. public function connect() 98. { 99. try { 100. $this->link = $this->_getPDO($this->server, $this->user, $this->password, $this->database, 5); 101. } catch (PDOException $e) { 102. throw new PrestaShopException('Link to database cannot be established:'.$e->getMessage()); 103. } 104. 105. // UTF-8 support 106. if ($this->link->exec('SET NAMES \'utf8\'') === false) { 107. throw new PrestaShopException('PrestaShop Fatal error: no utf-8 support. Please check your server configuration.');

DbPDOCore->connect - [line 323 - classes/db/Db.php]

DbCore->__construct - [line 234 - classes/db/Db.php] - [4 Arguments]

DbCore::getInstance - [line 48 - config/alias.php]

pSQL - [line 339 - classes/shop/Shop.php] - [1 Arguments]

ShopCore::initialize - [line 120 - config/config.inc.php]

require - [line 27 - index.php] - [1 Arguments]

 

Je comprends que les fichiers ne trouvent pas

  • nom de la base
  • user / mdp
  • serveur

Je ne sais pas où modifier ces infos.

Merci pour votre aide

 

 

 

 

Share this post


Link to post
Share on other sites

ce tuto n'est pas pas pour la 1.7, dans celle-ci les identifiants base sont dans app/parameters.php

Share this post


Link to post
Share on other sites
11 minutes ago, Eolia said:

ce tuto n'est pas pas pour la 1.7, dans celle-ci les identifiants base sont dans app/parameters.php

ok merci

j'ai changé simplement

  • 'database_host' => 'localhost',

Et j'ai cela comme erreur

[PrestaShopException]

Link to database cannot be established:SQLSTATE[HY000] [1045] Access denied for user 'login_user'@'localhost' (using password: YES)
at line 102 in file classes/db/DbPDO.php

  • Je crois comprendre que c'est parce que le user local = login_user@localhost alors que le user distant = login_user@serveur_distant
  • où est-ce que je dois modifier cela
  • login / mdp / nom BdD identiquent en local et distant

 

 

 

 

Share this post


Link to post
Share on other sites

Il faut mettre le nom de la base locale et le nom du user local que vous avez créé sur votre PC

Share this post


Link to post
Share on other sites
5 hours ago, Eolia said:

Il faut mettre le nom de la base locale et le nom du user local que vous avez créé sur votre PC

Base_Local@user -> KO

Ca ne fonctionne pas

Share this post


Link to post
Share on other sites

C'est sur c'est plutôt login_user@localhost mais bon le pb n'est pas là.

Votre connexion à phpmyadmin est ok avec ces identifiants (login/pass) ?

Share this post


Link to post
Share on other sites
4 minutes ago, Eolia said:

C'est sur c'est plutôt login_user@localhost mais bon le pb n'est pas là.

Votre connexion à phpmyadmin est ok avec ces identifiants (login/pass) ?

Depuis XAMPP, je clique sur Admin et ça m'ouvre

http://localhost:port/phpmyadmin/index.php

Quand je cliques sur l'onglet Base de Donnée et qu'après je demande "Vérifier les privilèges" j'obtiens -> Aucun privilège

C'est étrange, pourtant quand j'ai créée la base, j'ai bien donné les droits à l'utilisateur

D'ailleurs, je ne vois plus le menu "Comptes utilisateurs"

 

Share this post


Link to post
Share on other sites

On dirait que je me suis retirée tous les droits ... aucun privilèges sur rien

Share this post


Link to post
Share on other sites
On 8/14/2019 at 9:04 PM, Eolia said:

Recréez un user

 

En fait, c'est quand je crée un user que ça déraille.

1 - Je crée un BdD

2 - Je crée un user

3 - Je donne regarde les privilèges pour la BdD et je donne tous le droit pour le user crée. J'ai laissé % dans host_base. Peut-être que je devrais y mettre le nom de la base

 

Capture.thumb.JPG.9c56c1a6e028fd171ef5b50f01eb99e4.JPG

Share this post


Link to post
Share on other sites

controluser n'a rien a voir avec prestashop c'est un user spécial vers une base de données spéciale pour les goodies phpmyadmin (dont personne ne se sert).

Désactiver les goodies dans phpmyadmin (commenter ces lignes)

//$cfg['Servers'][$i]['controluser'] = $dbuser;
//$cfg['Servers'][$i]['controlpass'] = $dbpass;

Share this post


Link to post
Share on other sites

En mettant en commentaire les lignes, ça me retire bien des erreurs mais pas toutes

 

 

Capture.thumb.JPG.c8a721b64abbe96dab1c9957806dd39c.JPG

Share this post


Link to post
Share on other sites
Citation

M

Marek Gralikowski 

Jan 7, 2019, 11:40 PM  |  1317 points

 

I had analogical problem because my pc lost power and something in maria db crashed. I have a lot work on local so i wanted to try to fix it instead restore/create fresh db. I did it so i would to share with my solution:

Go to mariadb bin folder for example:
C:\laragon\bin\mysql\mariadb-10.2.13-winx64

Find my.ini and open.
Simply add single line:
skip-grant-tables
after [mysqld] group.

Example:

...
[mysqld]
skip-grant-tables
port=3306
socket=/tmp/mysql.sock
...

Now we are able to enter to mysql and phpmyadmin, in my case i use phpmyadmin and i get many errors on home page about crashed user table so i run SQL queries:

USE mysql;
CHECK TABLE user;
REPAIR TABLE user;

And voilà. Now we can remove skip-grant-tables just in case.

https://forum.laragon.org/topic/801/host-localhost-is-not-allowed-to-connect-to-this-mariadb-server/5

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More