Jump to content

Erreurs dans certaines pages du Back Office (/Parser.php)


Recommended Posts

Bonjour,

Venant de créer ma première boutique Prestashop, je viens vers vous car je rencontre actuellement un gros problème:
J'ai copié/collé des fichiers de mon serveur local vers le serveur distant, importé la BDD, modifié le fichier config/settings.inc.php et activé les msg d'erreurs dans config/config.inc.php.

Je n'ai aucun soucis pour accéder au FO et le design est bon, pas de pb non plus pour m'authentifier dans le BO.

Par contre , une fois dans le BO certaines pages ne marchent pas: le catalogue donne une page blanche sans rien d'autre alors même que l'affichage des erreurs est actif, pareil pour client ->panier .

Dans "paiement" et "module", j'obtiens l'erreur suivante :

Warning: main() [function.main]: open_basedir restriction in effect. File(/Parser/Type.php) is not within the allowed path(s): (/var/www/vhosts/site.com/httpdocs:/tmp) in /var/www/vhosts/site.com/httpdocs/tools/pear_xml_parser/Parser.php on line 29

Warning: main(Parser/Type.php) [function.main]: failed to open stream: Operation not permitted in /var/www/vhosts/site.com/httpdocs/tools/pear_xml_parser/Parser.php on line 29

Fatal error: main() [function.require]: Failed opening required 'Parser/Type.php' (include_path='.:.:') in /var/www/vhosts/site.com/httpdocs/tools/pear_xml_parser/Parser.php on line 29

Que suggérez vous ?

PS: Le serveur est hébergé chez OVH et j'ai rajouté les 3 lignes dans le .htaccess

Merci d'avance.

Link to comment
Share on other sites

après avoir bataillé, j'ai pu rerendre fonctionnelles les pages avec erreur en remplaçant
require_once 'Parser/Type.php';
par
require_once dirname(__FILE__).'/Parser/Type.php';

et

require_once 'Parser/Exception.php';
par
require_once dirname(__FILE__).'/Parser/Exception.php';

dans Parser.php

ceci dit, les pages qui apparaissaient blanches le sont toujours.

Les 2 problèmes ne sont donc pas liés.

Link to comment
Share on other sites

la source de mes pages blanches semble venir de là :
classes/adminTab.php
ligne 390
$this->includeSubTab('postProcess', array('submitAdd1', 'submitDel', 'delete', 'submitFilter', 'submitReset'));

si je commente cette ligne, les pages s'affichent...
mais je suppose que certaines actions du back-office ne vont pas fonctionner...

Link to comment
Share on other sites

.htaccess

SetEnv PHP_VER 5

SetEnv REGISTER_GLOBALS 0

RewriteBase /

# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution
# http://www.prestashop.com - http://www.prestashop.com/forums

# URL rewriting module activation
RewriteEngine on

# URL rewriting rules
RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /img/p/$1-$2$3.jpg [L,E]
RewriteRule ^([0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /img/c/$1$2.jpg [L,E]
RewriteRule ^lang-([a-z]{2})/([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$3&isolang;=$1$5 [L,E]
RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$2&isolang;=$1$4 [L,E]
RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /category.php?id_category=$2&isolang;=$1 [QSA,L,E]
RewriteRule ^([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$2$4 [L,E]
RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$1$3 [L,E]
RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /category.php?id_category=$1 [QSA,L,E]
RewriteRule ^content/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /cms.php?id_cms=$1 [QSA,L,E]
RewriteRule ^([0-9]+)__([a-zA-Z0-9-]*)(.*)$ /supplier.php?id_supplier=$1$3 [QSA,L,E]
RewriteRule ^([0-9]+)_([a-zA-Z0-9-]*)(.*)$ /manufacturer.php?id_manufacturer=$1$3 [QSA,L,E]
RewriteRule ^lang-([a-z]{2})/(.*)$ /$2?isolang=$1 [QSA,L,E]

# Catch 404 errors
ErrorDocument 404 /404.php



settings. inc.php

define('__PS_BASE_URI__', '/');
define('_THEME_NAME_', 'monTheme');
define('_DB_NAME_', 'maBase');
define('_DB_SERVER_', 'localhost');
define('_DB_USER_', 'monUser');
define('_DB_PREFIX_', 'ps_');
define('_DB_PASSWD_', 'monMdp');
define('_DB_TYPE_', 'MySQL');
define('_COOKIE_KEY_', '199Znkz7cUnTunopOMhGmryaORvCKgIZGxQVzuISR5ED4skXud7rMe1a');
define('_COOKIE_IV_', 'rhIDKgrc');
define('_PS_VERSION_', '1.2.5.0');



Dans ce fichier: monTheme, maBase, monUser et monMdp sont ceux correspondant au serveur et ont été remplacés par soucis de confidentialité.

Coté droits, en pratique j'utilise un dépôt CVS pour mes développements et je copie juste les scripts de mise à jour par FTP. Je n'ai ensuite plus qu'à lancer le script depuis le navigateur pour qu'il fasse l'installation/transfert de tous les fichiers donc Apache a nécessairement les droits d'écriture sur tous les fichiers de Prestashop puisque c'est lui même qui les a crée.

une autre piste serait un pb de compatibilité MySql. En effet, le serveur de dev est sous MySql 5 alors que celui de prod est sous MySql 4.1 (PHP 5 dans tous les cas, 5.2 sur le serveur de dev)

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