kzone Posted August 21, 2008 Share Posted August 21, 2008 bonjour à tous,Après avoir configurer des nouveaux modules sous Window, nous avons voulu basculer ces mêmes modules sous un *nux (un Debian) et il est apparu quelques problèmes de reconnaissance de varaible et de localisation de fichiers.premièrement il existe une différence dans la lecture des majuscules et minuscules entre les 2 systèmes , avec par exemple "servicesav" et "Servicesav" qui sont 2 mêmes fichiers pour window (lors de parsage de répertoire par exemple avec un readdir) ... il n'est pas possible d'ailleurs d'avoir ces 2 fichiers dans un même répertoire !!! ;-) Mais sous Linux ce sont bien 2 fichiers distincts et cela pose des problèmes lors de l'utilisation des recherches de fichiers comme par exemple autoload() (voir ficher config.inc.php)par exemple : fonctionne sous windows : global $smarty; global $cookie; include('../../config/config.inc.php'); include('../../header.php'); if (!$cookie->isLogged()) Tools::redirect('authentication.php?back=my-account.php'); $customer = new Customer($cookie->id_customer); $contact = new ServiceContact(); l'instanciation d'un objet ServiceContact est tout à fait possible sans devoir indiquer le chemin du fichier de description de la classe ; mais sous Linux ce fichier n'est pas trouvé ...Selon la définition de la fonction autoload du config.ini.php : if (!class_exists($className, false)) require_once(dirname(__FILE__).'/../classes/'.$className.'.php'); ... et il cherche donc dans le répertoire classes le fichier ServiceContact.php (noter les majuscules) ...sous windows si le chier se nomme servicecontact.php ou ServiceContact.php ... pas de problème c'est le même pour lui ...Mais pas sous Linux ... :coolsmile: il faut le préciser à presta : require_once(_PS_MODULE_DIR_.'servicecontact/servicecontact.php'); Il n'existe aucune documentation concernant le nommage de fichier ce qui devient vite problématique sous Linux car une majuscule fait planter l'application ...Il existe donc un problème récurent de nommage des fichiers sous linux qui empeche les applications de tourner ...pour l'instant nous avons un problème concernant l'utilisation d'un objet $customer qui sous Window renvoie bien les valeurs des attributs ($customer->id_gender par ex.) mais sous Linux aucune valeur n'est retournée ...Comme il n'y a pas d'erreur , juste aucune valeur retournée, il n'existe pas non plus de trace pour trouver à quel endroit chercher ...quelques conseils si certain on réalisé une install sous un *nux !Il serait bien d'optimier le code de Presta lors de parsage de répertoire à la recherche de fichier (pour la config , la traduction, ...) pour le sytème Linux et d'indiquer de ne pas tenir compte des "uppercase" ..merci ++ Link to comment Share on other sites More sharing options...
Pierre-Yves Posted August 21, 2008 Share Posted August 21, 2008 Euh....Tu rigoles ? J'ai plus de 50 sites tous sous Linux (quelle idée d'aller héberger un site php sous Windows...).Concernant le nommage de fichier, c'est au développeur de faire attention! Quand tu développe en PHP, c'est pareil!!! Les Majuscules sont importantes! $coucou != $CouCou; // Voilà bien 2 variables DIFFERENTES !! Pour ton problème de "customer", je n'ai pas de soucis sur mes installations et mes modules... Tu as bien uploadé tous les fichiers?Donc je le répète, c'est au développeur de faire attention à ce qu'il écrit! Si tu veux charger le module "servicecontact" pour tu demandes le module "ServiceContact" ? Ce sont des petites choses qui font partie de la vie sous php (et unix) mais qui deviennent vite un automatisme Link to comment Share on other sites More sharing options...
ludo Posted August 21, 2008 Share Posted August 21, 2008 Tiens autre question du même ordre .... PS Windows différent sous LinuxPourquoi on a les dates affiché par smarty en anglais sur le serveur Debian alors qu'elles sont en français sur celle de test (EasyPHP sous XP) ?Y a un paramètre langue sur le serveur qui doit bien être forcement différent... mais lequel et ou le changer ? Link to comment Share on other sites More sharing options...
Pierre-Yves Posted August 21, 2008 Share Posted August 21, 2008 Est ce que PrestaShop n'inclus pas une fonction qui permet de choisir le format des dates ? Link to comment Share on other sites More sharing options...
kzone Posted August 21, 2008 Author Share Posted August 21, 2008 salut pierre yves ...non je rigole pas Ben chez moi il y a longtemps que j'ai balancé Windows pour un Ubuntu et un Mandriva ... y'a pas photos !Mais le fait d'avoir écrit le code sous windows ( :sick: ) et de les passer sous une Debian tel quels me posent quelques petits soucis ...Mais si tu n'as aucun problème pour tes sites sous linux , cela me rassure ... mais faut que je "débugge" mon code maintenant ! j'ai comme l'impression que c'est un problème de $cookie ...enfin bon j'espère que je vais m'illuminer assez vite :exclaim: et que l'eureka viendra rapidementmerci Link to comment Share on other sites More sharing options...
kzone Posted August 21, 2008 Author Share Posted August 21, 2008 n'empeche que cela ne change pas le problème si le client installe sa Presta sous window et que quelque temps aprèsil décide de basculer sous Linux ..Il ne sera pas possible de porter tel quel son site et les modifs risquent de ne pas être une partie de plaisir .. ;-)bien entendu que $coucou et $Coucou ne sont pas les meme en Php ...mais ce n'est pas le problème non plusconcernant ServiceContact avec les majuscule c'est Prestashop qui "impose" cet orthographe dans la syntaxe (il m'a fallu remonter à l'autoload pour voir d'ou venait le problème) ... m'enfin ! Link to comment Share on other sites More sharing options...
Pierre-Yves Posted August 21, 2008 Share Posted August 21, 2008 Sauf si le site est "correctement" codé Link to comment Share on other sites More sharing options...
kzone Posted August 21, 2008 Author Share Posted August 21, 2008 oui , mais justement pour éviter ce genre de probléme , je n'utilise que des minuscules pour tous mes noms de fichiers et bien sûr sans espace ;-) mais bon .. y'a tout de même un couac ... moi peut-etre :coolsmile: Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now