Jump to content

[Résolu] Démenagement d'un prestashop 1.4


Recommended Posts

Bonjour,

 

je souhaite démenager un site prestashop,

j'ai donc sauvagarder la base, les fichiers etc.

 

réinstaller la base vers le nouveau serveur, upload les fichiers, modifier les user/mot de passe de la base etc.

 

quand je lance le site, page blanche, j'ai activé le debug, je vois le message :

Notice: Use of undefined constant _RIJNDAEL_KEY_ - assumed '_RIJNDAEL_KEY_' in /var/www/vhosts/xxxx.fr/store/classes/Cookie.php on line 76 Notice: Use of undefined constant _RIJNDAEL_IV_ - assumed '_RIJNDAEL_IV_' in /var/www/vhosts/xxxx.fr/store/classes/Cookie.php on line 76 Fatal error: Call to undefined function mcrypt_decrypt() in /var/www/vhosts/xxx.fr/store/classes/Rijndael.php on line 51

 

y a visiblement un probleme avec mcrypt, par ailleurs j'ai essayé d'installer un nouveau prestashop, dans les option il était indiqué que la fonction mcrypt n'est pas disponible

 

pourtant mcrypt est bien disponible sur le serveur

 

mcrypt support enabled Version 2.5.7 Api No 20021217 Supported ciphers cast-128 gost rijndael-128 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 tripledes Supported modes cbc cfb ctr ecb ncfb nofb ofb stream

Directive Local Value Master Value mcrypt.algorithms_dir no value no value mcrypt.modes_dir no value no value

 

 

 

php ver 5.2.17

ubunti 10.04 - 64 bits

plesk 10.3

OVH

 

quel est le probleme ?

 

merci de votre aide

Link to comment
Share on other sites

merci pour vos réponses

 

Bonjour

 

Vous avez modifié les login et mot de passe de quel manière ?

Est-ce que vous avez vider /tools/smarty/cache/ tous les fichiers sauf index.php

et /tools/smarty/compile/ tous les fichiers sauf index.php

oui c'est fait

 

Est ce que ce sont les même versions de Prestashop?

oui, en fait l'usage de mcrypt est optionnel dans prestashop, s'il est présent il s'en sert, sinon il fait autrement, mais quand il s'en sert, visiblement quand on le déplace, il faut qu'il soit présent. ceci dit dans mon cas il est présent quoi qu'il en soit.

 

en fait voila le truc, avant ps était installé dans http://boutique.ancien-domaine-.fr

et la je le déplace dans http://store.nouveau-domaine-.fr

 

il se souvient toujours de http://boutique.ancien-domaine-.fr , il y a donc des références en dur à l'url que je ne sais pas ou chercher (d'ailleur en passant ce n'est pas très propre en programmation de faire ce genre de chose) et ce n'est pas dans setting.inc.php

 

[edit]

j'ai trouvé les références en dur, ils sont dans la table configuration

 

du coup le message d'erreur a changé:

Warning: rename(/var/www/vhosts/domaine.fr/store/tools/smarty/compile/457796ace9c9e019952958204dc8019b0c2308c9.file.maintenance.tpl.php): failed to open stream: Permission denied in /var/www/vhosts/domaine.fr/store/tools/smarty/sysplugins/smarty_internal_write_file.php on line 48 Warning: rename(/tmp/wrtMv3kjA,/var/www/vhosts/domaine.fr/store/tools/smarty/compile/457796ace9c9e019952958204dc8019b0c2308c9.file.maintenance.tpl.php): Permission denied in /var/www/vhosts/domaine.fr/store/tools/smarty/sysplugins/smarty_internal_write_file.php on line 48 Warning: chmod(): No such file or directory in /var/www/vhosts/domaine.fr/store/tools/smarty/sysplugins/smarty_internal_write_file.php on line 50 Warning: include(/var/www/vhosts/domaine.fr/store/tools/smarty/compile/457796ace9c9e019952958204dc8019b0c2308c9.file.maintenance.tpl.php): failed to open stream: No such file or directory in /var/www/vhosts/domaine.fr/store/tools/smarty/sysplugins/smarty_internal_template.php on line 433 Warning: include(): Failed opening '/var/www/vhosts/domaine.fr/store/tools/smarty/compile/457796ace9c9e019952958204dc8019b0c2308c9.file.maintenance.tpl.php' for inclusion (include_path='.:') in /var/www/vhosts/domaine.fr/store/tools/smarty/sysplugins/smarty_internal_template.php on line 433

Link to comment
Share on other sites

ce messsage par exemple :

Warning: rename(/tmp/wrtoZi7N9,/var/www/vhosts/domaine.fr/store/tools/smarty/compile/457796ace9c9e019952958204dc8019b0c2308c9.file.maintenance.tpl.php):

 

il y a visiblement un probleme de chemin : /tmp/wrtoZi7N9, qui se trouve devant le /var/....

la racine commence à /var/

je ne vois pas trop pkoi il met le chemin devant ?

 

je vais finir par conclure qu'il est impossible de deplacer un prestashop ?

Link to comment
Share on other sites

Bonjour

 

Si il est possible de déplacer Prestashop, je vois que j'ai pas bien répondu avant.

 

1° sauvegarde des fichiers, dans tools/smarty/cache et compile vider ces fichiers sauf index.php

2° sauvegarde de la base de donnée du site original vie PhpMyAdmin en un fichier *.sql

 

GARDER une copie de votre base de donnée original.

 

Méthode radicale que j'ai utilisé : éditer la base de donnée avec notepad++ fonction rechercher l'ancien nom de domaine (sans le www. juste domaine.com) remplacer par nouveau nomdedomaine sans les www.

 

3° transférer les fichiers.

4° importer la base de donnée corriger via PhpMyAdmin

Link to comment
Share on other sites

rename(/tmp/wrtoZi7N9,/var/www/vhosts

 

Ne vous inquiétez pas de ce genre de chemin c'est le chemin sur le serveur comme sur votre poste sous windows vous avez C:/dossier/dossier/dossier3/dossier4 sous Linux c'est /var/www/vhosts et le /tmp/wrtoZi9 est un autre dossier que le /var/

 

C'est le serveur qui indique une erreur donc logique qu'il indique un chemin de la manière que lui il vois, le serveur ne lis pas http://www. << ça c'est que le navigateur qui le lis.

Link to comment
Share on other sites

ok merci pour vos réponses Oron, je vais voir pour la base de données, en effet je n'ai pas pensé de faire ce que vous avez dit, en revanche si je fais ce que vous dite en vidant le tools/smarty/cache, cela semble poser des problèmes (voir plus haut)

 

et pour le chemin, j'ai bien noté vos remarques, en revanche il y a bien un problème de chemin. le serveur dont je dispose est un serveur dédié, et le chemin vers les fichiers de mon site internet prestashop est : /var/www/vhosts/domaine.fr/store/ (le chemin interne au système et non pas l'alias web http://www...)

 

donc la commande rename aurait du être : rename(/var/www/vhosts/domaine.fr/store/tmp/wrtoZi7N9,

et non pas rename(/tmp/wrtoZi7N9,/var/www/vhosts

ici il y a erreur sur la composition du chemin qui conduit forcement à un acces denied puisque ce chemin n'existe pas.

(le serveur est configuré pour répondre "acces denied" lorsqu'on demande un chemin qui n'existe pas)

 

 

[edit]

donc j'ai regardé dans la base, il y a 3 entrées qui fond référence au lien du site en dur, j'ai tous changé. mais le problème persiste

 

Warning: rename(/var/www/vhosts/dark4d.fr/store/tools/smarty/compile/457796ace9c9e019952958204dc8019b0c2308c9.file.maintenance.tpl.php): failed to open stream: Permission denied in /var/www/vhosts/dark4d.fr/store/tools/smarty/sysplugins/smarty_internal_write_file.php on line 48

 

en fait si je regarde bien, le fichier : 457796ace9c9e019952958204dc8019b0c2308c9.file.maintenance.tpl.php

n'existe simplement pas !

pourquoi fait il référence à des fichiers qui n'existent pas ? ou aller pour supprimer ces références ? (ce n'est pas dans la base de données, j'ai cherché, rien trouvé)

 

et pour : Warning: rename(/tmp/wrtigA0WK,/var/www/vhosts/domaine.fr/store/tools/smarty/compile/457796ace9c9e019952958204dc8019b0c2308c9.file.maintenance.tpl.php): Permission denied in /var/www/vhosts/dark4d.fr/store/tools/smarty/sysplugins/smarty_internal_write_file.php on line 48

le chemin est simplement incorrect.

etc. etc.

Link to comment
Share on other sites

Bonjour

 

Vous avez vérifier au sujet du /tmp sur votre serveur via accès SSH mode console (putty) ?

Les fichiers dans cache et compile de temps en temps faut les supprimer c'est que des fichiers temporaire.

 

Le .HTaccess vous l'aviez régénérer ?

 

Est-ce que vous avez encore les fichiers et dossiers avec le cache et compile remplis et une copie de la base de donnée, je proposerai à la rigueur de tester sur mon serveur.

 

Je vais tester un déménagement cet après-midi, ça doit fonctionner, j'ai déménager plusieurs sites sans problèmes.

Link to comment
Share on other sites

bonjour :D

 

Vous avez vérifier au sujet du /tmp sur votre serveur via accès SSH mode console (putty) ?

si on parle de /tmp de la racine du serveur, oui il existe, en revanche il n'est pas question que le script de prestashop y accède, c'est un privilège reservé à root et personne d'autre (dans ce contexte bien précis).

l'écosystème de la boutique commence à : /var/www/vhosts/domaine.fr/store/

si prestashop à besoin de tmp il doit aller faire ses besoins dans /var/www/vhosts/domaine.fr/store/tmp et non dans /tmp

mais cela est valable pour n'importe quel hébergement, aucun hebergeur n'autorisera un accès à la racine de son serveur.

j'imagine qu'il y a un paramètere de chemin vers tmp à définir quelque part ? (qui ne se trouve ni dans la base ni dans settings)

 

 

Les fichiers dans cache et compile de temps en temps faut les supprimer c'est que des fichiers temporaire.

oui c'est fait.

 

Le .HTaccess vous l'aviez régénérer ?

si je me souviens bien, cette opération se faisait depuis l'interface admin à laquelle je n'ai plus accès

j'ai donc vidé le contenu du .htacess sur les directives rewriting et j'ai modifié la valeur de PS_REWRITING_SETTINGS à 0

dans la table xxx_configuration

 

dans le pire des cas je vais me retapper une reinstall propre avec la resaisie entière de la boutique, mais si je dois faire cela, c'est une catastrophe au niveau perte de temps, et je me poserai de sérieuses questions sur la portabilité de prestashop.

Pour info j'ai déjà démenagé de nombreux CMS sans problème, et sur ce même serveur actuellement, seul prestashop pose des problèmes, en même temps je débute sur prestashop, mais bon la j'avoue qu'il me fait transpirer un peu et j'essaye de limiter la casse :D

Link to comment
Share on other sites

problème résolu.

 

j'ai passé le répertoire tools en 777 et miracle ça marche mais je ne comprends pas qu'il faille donner chmod 777 à ce répertoire, ce n'est pas normal.... (sachant qu'il était en 775 avant ce qui n'est pas mieux d'ailleurs)

 

merci pour votre aide.

Link to comment
Share on other sites

Bonjour

 

si on parle de /tmp de la racine du serveur, oui il existe, en revanche il n'est pas question que le script de prestashop y accède, c'est un privilège reservé à root et personne d'autre (dans ce contexte bien précis).

 

C'est pas Prestashop qui y accède mais bel et bien le serveur Apache et lui donc peut accéder a tous en tant que root.

Ce dossier tmp c'est un dossier temporaire et s'il existe c'est pour bien des raisons. C'est pour ça que ce dossier est indiquer dans le chemin de votre site.

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...