Jump to content

Recommended Posts

Bonjour,

 

Avant d'expliquer mon problème, je pose le contexte. J'ai un prestashop 1.5 hébergé sur un serveur depuis 2013, je souhaite migrer prestashop + bdd vers un vps OVH.

 

J'ai effectué le transfert, ça c'est bien passé à part l'affichage des prix. Sur le front tout mes produits sont à 0 (home, page catégorie, page produit). Dans le BO dans la fiche produit, lorsque je vais dans l'onglet "prix" j'ai une page blanche (cf pièce jointe). Lorsque je clic sur les autres onglets j'ai bien les infos (description, SEO, déclinaison,...).

 

Quand je suis dans la liste des produits dans le BO, le prix affiche également 0, pourtant quand je vais dans la table ps_product, ps_product_specific,... j'ai bien mes prix de renseignés.

 

Je ne comprends pas pourquoi mes prix sont à 0 alors qu'en BDD ils sont présent.

 

Quelqu'un peut m'éclairer sur ce problème ?

post-1014736-0-12270900-1435132596_thumb.jpg

Link to comment
Share on other sites

As tu bien modifier l'adresse URL dans les préférences ?

Dans le dossier /config, le fichier settings.inc.php contient il les nouvelles caractéristiques de ta base de données transférées (adresse, login, password) ?

Il faut vérifier que chaque ligne contient bien les bonnes données, car quand on recrée une BD on a la facheuse tendance à ne pas suivre exactement les mêmes infos que l'on avait choisi avant..

Link to comment
Share on other sites

Merci pour ta réponse.

 

J'ai téléchargé le Prestashop (fichier php, tpl,...) du serveur pour ensuite upload sur le VPS OVH (donc les fichiers sont identique)
Donc mis à part le nouveau nom de BDD, user et password de la BDD je ne voies pas qu'elle config modifier.
Surtout que tout le Prestashop fonctionne (à part les prix) que sa soit en front ou BO  (accès au BO, ajouter, supprimer des produits, connexion client sur le front,...).

 

L'url est la même je fais juste un changement d’hébergement, pas de nom de domaine.

 

Je vais surement re-tenter un import de BDD.

Link to comment
Share on other sites

Non je n'ai pas encore fait la bascule des DNS, j'attends d'avoir un prestashop propre pour le faire. Le prestashop qui est sur l'autre serveur est actuellement en production, je ne peux pas l’interrompre.

 

Mais pour pouvoir travailler sur le VPS, j'ai changé le fichier host de mon pc pour faire pointer le nom de domaine vers l'adresse ip du VPS OVH et non pas sur l'autre serveur.

 

Je ne pense pas que c'est du à ça, je l'ai déjà fait sur un autre Prestashop et je n'avais pas rencontré de problème.

Link to comment
Share on other sites

Ouhouu l'usine à gaz pour prestashop...

Perso pour faire les tests, j'ai un nom de domaine spécial d'essai, différent du domaine classique et sur lequel j'ai modifier les TTL à 20 minutes (la première modif prend 24h puis après, chaque changement de DNS est effectif en 20 minutes sur le DNS principal). Une fois mon nouveau serveur bien paramétré, je change les DNS du domaine de test pour les faire pointer sur le nouveau serveur, je change temporairement les ligne SEO/URL de presta et hop, je fais mes tests. Une fois tout testé, plus qu'a remettre le  bon SEO/URL dans presta puis changer les DNS du domaine principal pour valider définitivement les changements.

 

Mais bon  après, chacun fait ce qu'il préfére.

 

Mais avec cette histoire de fichier Host de  windows, je ne peux pas aider plus tellement de paramètres peuvent jouer en défaveur des tests.

Bon courage tout de même, tiens moi au courant.

Link to comment
Share on other sites

Bonjour

 

Les DNS n'ont rien à voir si dans le back office vous l'avez l'un ou l'autre une page blanche, c'est surtout qu'il manque une table dans la base de donnée.

 

Les DNS Domain Name Server leur seul et unique fonction est de dire que le nom de domaine lismoi.com correspond au serveur avec l'IP 235.142.63.54

pour être cours traduis un nom de domaine en une adresse IP vulgairement parler.

 

Si vous ne trouvez pas ou si vous ne voyez pas de table qui manque faites :

 

La ligne sur une 1.4 dans config/config.inc.php
@ini_set('display_errors', 'off'); << mettez off à on >> @ini_set('display_errors', 'on');

La ligne sur une 1.5 / 1.6 dans config/defines.inc.php
define('_PS_MODE_DEV_', false); << mettez false à true >> define('_PS_MODE_DEV_', true);

Si c'est un problème d'interprétation d'un fichier vous verrez un message d'erreur. Copier Coller au moins la 1ere ligne.
Si le nom de votre dossier d'administration apparait remplacé le par des *****.
 

Link to comment
Share on other sites

Bonjour,

 

Je me doutais bien que ce n'était pas du au DNS, merci de confirmer.

 

J'ai activé le mode dev de Prestashop, je n'ai pas d'erreur juste un warning :

 

"Warning: Division by zero in /tools/smarty/plugins/function.math.php(70) : eval()'d code on line 1"

 

Le warning paraît logique, puisque mes prix affichent 0. J'ai peut-être une piste je crois que mes taxes ce sont mal importées.

Je vais refaire une import des tables produits et taxes.

Link to comment
Share on other sites

Mauvaise importation c'est possible. C'est souvent une des causes vous avez exporter la base de donnée sous quel format ? sql ou zip

Avec un export en *.zip vous avez moins de risque que l'import se fasse mal à moins que le serveur était en surcharge.

Link to comment
Share on other sites

L'export c'est fait en sql mais pour l'import je suis obligé de passer en zip sinon l'export ne se fait pas. Le délai d’exécution du serveur est dépassé (même si je l'augmente).

 

J'ai fais l'import des tables product et tax, le problème est toujours la. Je vais devoir refaire l'import de toutes les tables ps

Link to comment
Share on other sites

@oron : Je sais ce qu'est un DNS..

Sauf que si le domaine pointe sur un serveur, que le host du PC pointe sur un autre sur le même nom de domaine, et que les prestashop sont paramétrés en plus dans des noms de domaines qui ne sont pas les bons, je confirme bien qu'il n'y a rien de mieux pour faire la panade.

Link to comment
Share on other sites

Oui ça doit surement être une usine à gaz.

Mon problème persiste toujours, après re-uploader les fichiers et importation de bdd.

 

J'ai voulu tester de mettre à jour un des produits via le backoffice, en me disant que ça aller ré-initialiser la table des prix mais je n'ai pas pu.

J'ai une belle erreur Mysql duplicate primary key, pourtant je fais un update et pas de insert.

Je sais pas si cette erreur peut indiquer une piste à suivre ?

Link to comment
Share on other sites

mais pourquoi diable avoir demandé une telle chose... Deux fichiers, deux possibilités de mauvais transfert..

Un seul fichier est amplement suffisant pour recréer la structure, et y insérer les données.

 

Peut tu demander un nouveau transfert unique et refaire la restauration ?

Link to comment
Share on other sites

En fait non, dans un premier temps, ils m'ont envoyé un fichier unique mais la bdd est volumineuse (le presta est en ligne depuis 2013).
Quand je fais l'import du fichier unique, j'ai le temps de chargement dépassé et phpMyAdmin arrête l'import, j'ai du séparer structure et données puis séparé les données en 10 fichiers sinon impossible d'importer (même en .sql.zip).

 

J'ai même augmente la memory_limit du serveur mais ce n'était pas suffisant, certaines tables ont plus d'un million de lignes mais celle-ci je ne les importe pas c'est les tables ps_connections, ps_connection_page (c'est pour les stats de presta).

Link to comment
Share on other sites

Ce n'est pas la ligne memory-limit du serveur qui est a changer. celui la on le laisse en général à 128 Mo. En ssh, une fois root il faut aller dans :

 

« vi /etc/php5/apache2/php.ini »

Et mettre 100M en face de upload_max_filesize =

 

Je mets 100M mais il suffit de mettre un chiffre supérieur à la taille de la base.

 

En cas de CGI etc.. il faut bien sur faire la modif dans les dossiers correspondants (/etc/php5/cgi/)

 

A la rigueur on peut aussi augmenter le max_execution_time, si vraiment le serveur est lent.

Link to comment
Share on other sites

Autant pour moi, j'ai écris memory_limite mais je pensais upload_max_filesize, d’ailleurs je l'ai augmenté à 300M puisque mon fichier sql fait un peu plus de 200Mo.

Mais j'ai quand même l'erreur "Vous avez probablement tenté de télécharger un fichier trop volumineux. Veuillez vous référer à la documentation pour trouver le moyen de contourner cette limite."

 

J'ai été voir cette fameuse doc, c'est écrit de modifier "upload_max_filesize, memory_limit and post_max_size". Chose que j'ai faite sauf pour le memory_limit je n'ai pas touché.

Je ne vois plus trop de solution pour importer mes fichiers.

Link to comment
Share on other sites

Je sais, je fais les modifs, je redémarre tous les services d'apache, je vérifie avec phpinfo(). Les modifications sont bien pris en compte.

 

Pourtant quand je tente d'importer ma base j'ai l'erreur indiqué plus haut.

 

Je fais les modifs via Cpanel (en root), mais si je fais les modifs dans le Cpanel ou ssh ça revient au même ?

 

Link to comment
Share on other sites

Via filezila j'ai été modifier le php.ini j'ai cherché upload_max_filesize pour le mettre à 300M, j'ai redémarré apache et quand je vérifie en faisant phpinfo() j'ai max_file_uploads qui est 20M et upload_max_filesize à 300M.

 

C'est quoi la différence entre upload_max_filesize et max_file_uploads ?

 

C'est peut-être lui, max_file_uploads, que je dois modifier ?

Link to comment
Share on other sites

J'ai réussis à résoudre mon problème.

J'ai utilisé bigdump pour importer ma base de données en une seule fois. L'import c'est bien passé et je n'ai plus de bug.

 

Merci à Jean Francois G pour avoir essayé de m'aider à résoudre le problème.

Edited by Alex--77 (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...