Jump to content
Greg34

Erreur Smarty lors transfert local -> OVH

Recommended Posts

Bonjour,

 

je souhaite installer un Prestashop 1.6.0.8 qui fonctionne parfaitement en local (Xampp) sur un serveur OVH de type Kimsufi. Cet hébergement contenait précédemment une version 1.3, que j'ai migré en 1.4 puis en 1.6 selon le guide de migration manuelle de Prestashop.

 

Mais après avoir suivi les étapes de migration local>serveur (http://www.magavenue.com/blog/prestashop/transferer-votre-boutique-prestashop-en-ligne-a-partir-dune-installation-locale) je me retrouve face à un gros souci au niveau du cache Smarty, que ce soit sur le Front ou le Back office.

 

Pour le front office, j'obtiens l'erreur fatale suivante :

 

Fatal error: Uncaught exception 'SmartyException' with message 'unable to write file /home/MONREPERTOIRE/cache/smarty/cache/blocksearch_top/1/2/1/8/a1/b1/88/wrt54018dc87c0251.75901918'

 

 

Pour le backoffice, j'obtiens celle-ci :

 

Fatal error: Uncaught exception 'SmartyException' with message 'unable to write file /home/MONREPERTOIRE/cache/smarty/compile/79/44/1e/wrt54018fa603b952.63861006'

 

D'après ce que j'ai pu lire sur différents forums, cela proviendrai d'un problème de droits. Or, même en modifiant ces droits (qui d'ailleurs nécessite obligatoirement un chmod 777 pour ne plus s'afficher - ce que je trouve particulièrement bizarre), ce sont de nouveaux dossiers de cache qui reviennent en erreur, tout simplement parce qu'ils n'existent pas ! (notamment dans le backoffice concernant le dossier /smarty/compile/).

J'en ai créé quelques uns manuellement pour accéder à la page d'accueil du back office, et aux menus Préférences>SEO & URL et Paramètres Avancés>Performances. Mais à partir de là je ne voudrais pas faire n'importe quoi.

 

Quelqu'un peut m'aider à résoudre ou comprendre d'où vient le problème?

 

Merci d'avance

 

Greg

 

 

 

 

Share this post


Link to post
Share on other sites

Bonjour,

Normalement c'est du 755 récursif, et non du 777. Effacez tout le contenu de /cache/smarty/cache/ et pareil pour /compil.

Share this post


Link to post
Share on other sites

Bonjour,

Normalement c'est du 755 récursif, et non du 777. Effacez tout le contenu de /cache/smarty/cache/ et pareil pour /compil.

 

Bonjour,

 

et merci pour le conseil. J'ai effectué la manipulation que tu as décrite. Je me suis débrouillé pour effacer tout le contenu du dossier /compile (d'ailleurs, en le renommant car sinon impossible à supprimer, le serveur FTP m'indiquait que le dossier n'était pas vide - tentatives avec Filezilla, FTPexpert et Net2ftp : sans succès).

 

Maintenant, j'accède au Back office avec pas mal de Warning PHP, du genre

Warning à la ligne 1841 du fichier /home/MONREPERTOIRE/classes/controller/AdminController.php
[2] file_put_contents(/home/MONREPERTOIRE/config/xml/default_country_modules_list.xml) [<a href='function.file-put-contents'>function.file-put-contents</a>]: failed to open stream: Permission denied

Alors que pourtant tout est en 755 dans ces dossiers /classes et /config. Pour tester, j'ai mis le fichier default_country_modules_list.xml en chmod 777 et le warning le concernant a disparu, mais si je fais cela, question sécurité cela sera problématique...

 

 

/* Et de même toujours une erreur Smarty sur le front office (index.php)

Fatal error: Uncaught exception 'SmartyException' with message 'unable to write file /home/MONREPERTOIRE/cache/smarty/cache/blocksearch_top/1/2/1/8/a1/b1/88/wrt540573eed401f3.70414995' in /home/MONREPERTOIRE/tools/smarty/sysplugins/smarty_internal_write_file.php:44 Stack trace: #0 /home/MONREPERTOIRE/tools/smarty/sysplugins/smarty_internal_cacheresource_file.php(102): Smarty_Internal_Write_File::writeFile('/home/MONREPERTOIRE/...', '<?php /*%%Smart...', Object(Smarty)) #1 /home/MONREPERTOIRE/tools/smarty/sysplugins/smarty_cacheresource.php(367): Smarty_Internal_CacheResource_File->writeCachedContent(Object(Smarty_Internal_Template), '<?php /*%%Smart...') #2 /home/MONREPERTOIRE/tools/smarty/sysplugins/smarty_internal_template.php(230): Smarty_Template_Cached->write(Object(Smarty_Internal_Template), '<?php /*%%Smart...') #3 /home/MONREPERTOIRE/tools/smarty/sysplugins/smarty_internal_templatebase.php(259): Smarty_Internal_Template->writeCachedContent('<!-- Block sear...') #4 /home/MONREPERTOIRE/classes/module/Module.php(2020): Smarty_Internal_TemplateBase->fetch() in /home/MONREPERTOIRE/tools/smarty/sysplugins/smarty_internal_write_file.php on line 44

Alors que le dossier /cache/smarty/cache/ est vide !

*/

EDIT : Passage des droits du dossier /cache en 775 et le site s'affiche. Problème Front office résolu.

Par contre, en back office, un 775 sur /classes (incluant fichiers et dossiers) n'enlève pas les warning PHP)

 

J'avoue de ne pas comprendre ce qu'il se passe, cela viendrait-il de l'hébergement OVH?

 

Merci de votre aide

 

Greg

Edited by Greg34 (see edit history)

Share this post


Link to post
Share on other sites

Ben sur un dedié c'est surprenant d'avoir un soucis, est ce vous qui l'administrez ?

Share this post


Link to post
Share on other sites

Ben sur un dedié c'est surprenant d'avoir un soucis, est ce vous qui l'administrez ?

 

Non, c'est le prestataire initial de la propriétaire de la boutique Prestashop. Je vais donc voir avec eux directement l'origine du problème.

Share this post


Link to post
Share on other sites

Non, c'est le prestataire initial de la propriétaire de la boutique Prestashop. Je vais donc voir avec eux directement l'origine du problème.

 

En attente de leur retour. A première vue ils me disent , un peu génés, que c'est bizarre et que cela peut venir de la version de Prestashop (1.6.0.8). Je pourrais passer en 1.6.0.9 mais vu les problèmes de droits que l'hébergement a, je ne suis pas rassuré sur le bon déroulement de cette procédure... Qu'en pensez-vous ?

 

De plus, en testant le processus de commandes via Paypal (module 3.7.2), lors de la validation du mode de livraison j'obtiens l'erreur suivante :

[PrestaShopDatabaseException]
Table 'BASE.MONPREFIXE_paypal_login_user' doesn't exist
[requete SQL]
at line 635 in file classes/db/Db.php

Je comprends l'erreur du message, mais je ne sais pas comment la résoudre. MIse à jour du module à faire (malgré qu'on ne me la propose pas) ? Créer manuellement les tables SQL manquantes (et si oui, où les trouver?)

 

Merci encore de votre aide,

 

Greg

 

PS : pouvez-vous me contacter en MP afin de me proposer une de vos solutions alternatives d'hébergement dédiées à Prestashop ?

Share this post


Link to post
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...

Important Information

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