Rechercher :
Accueil » Général Connexion

Question Structure du site, configure.php
Comment régler mon configure php ? ou pourquoi mes images ne s'affichent pas?
Réponse Ces 2 fichiers permettent de configurer physiquement la boutique et le site (enregistrement de la configuration sous forme de constantes).

Tous les chemins de fichiers sont réglés par les 2 configure.php (admin et catalog). Normallement, toutes ces données sont remplies par l'installation automatique. Cependant, si l'installation automatique n'est pas possible (ex online), ou si vous déplacez des répertoires, voire le site en entier, beaucoup de problèmes peuvent venir de là.

Voici un exemple de configure.php pour une installation de base, sans SSL. Pour le domaine www.monsite.com, sur un serveur hébergé, la boutique étant mis dans un répertoire nommé "boutique". L'adresse http://www.monsite.com/boutique/ pointe sur la boutique

Pour le catalog/includes/configure.php
Code:

define('HTTP_SERVER', 'http://www.monsite.com');
define('HTTPS_SERVER', ''); // nécessaire seulement si le SSL est utilisé
define('ENABLE_SSL', false); // ou true pour l'utilisation su SSL
define('HTTP_COOKIE_DOMAIN', '');
define('HTTPS_COOKIE_DOMAIN', '');
define('HTTP_COOKIE_PATH', '/'); // chemin absolu depuis la racine du site
define('HTTPS_COOKIE_PATH', '/');
define('DIR_WS_HTTP_CATALOG', '/boutique/catalog/'); // chemin absolu depuis la racine du site
define('DIR_WS_HTTPS_CATALOG', '');
define('DIR_WS_IMAGES', 'images/');
define('DIR_WS_ICONS', DIR_WS_IMAGES . 'icons/');
define('DIR_WS_INCLUDES', 'includes/');
define('DIR_WS_BOXES', DIR_WS_INCLUDES . 'boxes/');
define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . 'functions/');
define('DIR_WS_CLASSES', DIR_WS_INCLUDES . 'classes/');
define('DIR_WS_MODULES', DIR_WS_INCLUDES . 'modules/');
define('DIR_WS_LANGUAGES', DIR_WS_INCLUDES . 'languages/');

define('DIR_WS_DOWNLOAD_PUBLIC', 'pub/');
define('DIR_FS_CATALOG', '/home/user/boutique/catalog/');// chemin physique machine vers la boutique
define('DIR_FS_DOWNLOAD', DIR_FS_CATALOG . 'download/');
define('DIR_FS_DOWNLOAD_PUBLIC', DIR_FS_CATALOG . 'pub/');

// define our database connection
define('DB_SERVER', 'localhost'); //adresse du serveur sql (nom ou adresse IP)
define('DB_SERVER_USERNAME', 'username');
define('DB_SERVER_PASSWORD', 'password');
define('DB_DATABASE', 'nom_de_base');
define('USE_PCONNECT', 'false'); // ou true pour une connection permanente (à éviter)
define('STORE_SESSIONS', 'mysql'); // ou vide '' voir FAQ "sessions"

Et pour catalog/admin/includes/configure.php
Code:

define('HTTP_SERVER', 'http://www.monsite.com');
define('HTTP_CATALOG_SERVER', 'http://www.monsite.com');
define('HTTPS_CATALOG_SERVER', '');
define('ENABLE_SSL_CATALOG', false);
define('DIR_FS_DOCUMENT_ROOT', '/home/user');// chemin physique machine vers le site
define('DIR_WS_ADMIN', '/boutique/catalog/admin/');
define('DIR_FS_ADMIN', DIR_FS_DOCUMENT_ROOT . DIR_WS_ADMIN); // chemin physique machine vers l'admin
define('DIR_WS_CATALOG', '/boutique/catalog/');
define('DIR_FS_CATALOG', DIR_FS_DOCUMENT_ROOT . DIR_WS_CATALOG); // chemin physique machine vers le catalog
define('DIR_WS_IMAGES', 'images/');
define('DIR_WS_ICONS', DIR_WS_IMAGES . 'icons/');
define('DIR_WS_CATALOG_IMAGES', DIR_WS_CATALOG . 'images/');
define('DIR_WS_INCLUDES', 'includes/');
define('DIR_WS_BOXES', DIR_WS_INCLUDES . 'boxes/');
define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . 'functions/');
define('DIR_WS_CLASSES', DIR_WS_INCLUDES . 'classes/');
define('DIR_WS_MODULES', DIR_WS_INCLUDES . 'modules/');
define('DIR_WS_LANGUAGES', DIR_WS_INCLUDES . 'languages/');
define('DIR_WS_CATALOG_LANGUAGES', DIR_WS_CATALOG . 'includes/languages/');
define('DIR_FS_CATALOG_LANGUAGES', DIR_FS_CATALOG . 'includes/languages/');
define('DIR_FS_CATALOG_IMAGES', DIR_FS_CATALOG . 'images/');
define('DIR_FS_CATALOG_MODULES', DIR_FS_CATALOG . 'includes/modules/');
define('DIR_FS_BACKUP', DIR_FS_ADMIN . 'backups/');
// define our database connection
define('DB_SERVER', 'localhost'); //adresse du serveur sql (nom ou adresse IP)
define('DB_SERVER_USERNAME', 'username');
define('DB_SERVER_PASSWORD', 'password');
define('DB_DATABASE', 'nom_de_base');
define('USE_PCONNECT', 'false'); // ou true pour une connection permanente (à éviter)
define('STORE_SESSIONS', 'mysql'); // ou vide '' voir FAQ "sessions"

Ce qu'il faut comprendre pour pouvoir les tripatouiller:

-Les chemins en FS sont les chemins physiques, par rapport au serveur (la machine)
-Les WS sont les chemins virtuels, par rapport au site web (www.monsite.com)
-les DIR_WS ne posent pas de problèmes, il suffit de respecter la structure des répertoires.
-Attention au DIR_WS_CATALOG qui doit être un chemin absolu (commencer et finir par un /)
-Les chemins peuvent s'imbriquer en utilisant l'opérateur "." exemple : define('DIR_WS_ICONS', DIR_WS_IMAGES . 'icons/'); qui revient au même que define('DIR_WS_ICONS', 'images/icons/'); (pour cet exemple)

-DIR_FS_DOCUMENT_ROOT de l'admin et DIR_FS_CATALOG du catalog posent souvent problème car il faut renseigner le chemin physique (ROOT) du répertoire sur la machine. Cherchez dans la doc de votre hébergeur ou dans le phpinfo pour le connaître.

Idea Pour connaître son ROOT, vous pouvez faire un script en créant un fichier nommé "realpath.php" à la racine du site, avec comme contenu:
Code:
<? echo realpath("realpath.php"); ?>

L'appel dans votre nagigateur de cette page http://www.monsite.com/realpath.php vous donnera le chemin complet.


Idea Pour mieux connaître les variables du serveur, vous pouvez aussi faire un script pour les lister:
Code:
<?
    print "<b><center> <font size=\"5\" face=\"arial\">Données du serveur : http://$_SERVER[HTTP_HOST] </font></b></center><br>" ;
    $noir = "<font size=\"1\" face=\"verdana\" color=\"#000000\"><b>";
    $rouge = "<font size=\"1\" face=\"verdana\" color=\"#A60000\"><b>";
    $debut = "<font size=\"1\" face=\"verdana\" color=\"#FFFFFF\"> ====== </font>";
    $php_ver = phpversion();
    print "$noir PHP version : $rouge $php_ver <br>";
    foreach ($_SERVER as $key => $info_server) print " $debut $noir \$_SERVER[$key] = $rouge $info_server <br>";

    print " <br>\$PHP_SELF = $PHP_SELF <br>";
    print " <br>\$HTTP_HOST = $HTTP_HOST <br>";
    print "</b></font>";
?>

Auteur : xaglo Mise à jour le 24/03/2006

Retour