IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Récupération site PHP dans EasyPHP


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Mars 2010
    Messages : 22
    Par défaut Récupération site PHP dans EasyPHP
    J'ai repris un poste ou l'ancien informaticien était spécialiste en php et avait créer un site pour la société, il faisait ses modifs en direct sur le site de production sans avoir de site de développement. Dans mon cas je veux récupérer une copie du site en local pour pouvoir effectué des modifs sans impliquer la prod, j'ai donc installé EasyPHP, j'ai récupérer le répertoire de mon site, importer la BDD en local. J'ai aussi effectué les changements pour tous ce qui est connexion à la base de données, mais malheureusement quand je me rend sur la page d'accueil du site, je ne récupère pas les photos et du code php s'afiche dans la pages. Quand je regarde dans les logs apaches il me mets ceci:

    File does not exist: C:/Program Files/EasyPHP-5.3.2/www/'.$attribute['src'].', referer: http://127.0.0.1/
    File does not exist: C:/Program Files/EasyPHP-5.3.2/www/Groupe/' .$promo['id']. ', referer: http://127.0.0.1/

    comme si il n'arrivait pas à interpréter le code.

    J'ai demander à mon prédécesseur mais il ne voit pas d'où vient le problème.

    Je suis sur cela depuis plusieurs jours et je ne vois pas ce qui bloque.

    Auriez-vous une idée ?

    Merci d'avance.

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Et quel est le code en question ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Mars 2010
    Messages : 22
    Par défaut
    Pour la première ligne il s'agit du code suivant se trouvant dans la page index.php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $result = $xml->xpath("/album/img");
    foreach($result as $key => $attribute) 
    						{
    echo '<li><a href="'.$attribute['url'].'" title="'.$attribute['title'].'"><img height="150" alt="'.$attribute['title'].'" src="'.$attribute['src'].'" width="200"></a></li>

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Le code est incomplet pour en tirer quoi que ce soit.

    Il n'utilisait pas les balises courtes (<? et <?=) alors qu'elles sont désactivées sur votre serveur par hasard (paramètre short_open_tag) ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Mars 2010
    Messages : 22
    Par défaut
    tout d'abord merci pour ta réponse aussi rapide.

    Effectivement quand je fais un phpinfo sur mon site en local le paramètre short_open_tag est en off alors que sur le site de production il est activé.

    J'ai trouvé la section dans le php.ini mais il y a plusieurs lignes de paramétrage lesquelles faut-il activé.

    ; short_open_tag
    ; Default Value: On
    ; Development Value: Off
    ; Production Value: Off

    Merci.

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Aucune de celles-ci.

    Étant normalement active par défaut, vous devriez avoir une ligne où elle est explicitement désactivée alors :
    Si c'est le cas, changez-la en On. Sinon ajoutez-la (valeur On), à voir si c'est suffisant pour la suite.

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 83
    Par défaut Reprendre dela prod
    Bonsoir,

    Je pense qu'essayer de répercuter toute les différence de la prod depuis le poste client est une bonne démarche mias longue.

    Dans la mesure où la prod est la version valide de référence,
    tu télécharges et installes winmerge, tu récupères ta prod, fichiers de conf compris ; apache, php, mysql ...

    Tu compares tes fichiers de conf et code local à ta prod avec winmerge pour voir les modifs histoire d'être au "courant", tu installes ta prod en local et écrase le tout en vérifiant d'abord les versions installées de PHP Apache Mysql pour être sûr que ce soit les mêmes que ta prod.

    Tu reparts de cette version de prod réinstallée en local.


    Xavier

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Mars 2010
    Messages : 22
    Par défaut
    Bonjour,

    je ne peux pas récupérer ma prod complètement, je n'ai pas accès à la partie apache, j'ai juste le repertoire du site et la base de données.

    Sinon j'ai fait les modifs que julp m'a dit je n'ai plus l'erreur:

    Undefined index: id in C:\\Program Files\\EasyPHP5.2.10\\www\\Includes\\Functions.php on line 611

    mais par contre j'ai celle ci:

    Undefined variable: id in C:\\Program Files\\EasyPHP5.2.10\\www\\Includes\\Utils.php on line 403

    qui correspond au à ligne de code suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    eval(targ+".location='/Tri-xxxx.php?id=<? echo $id; ?>&tri_sens="+selObj.options[selObj.selectedIndex].value+"'");
    que dois-je mettre ici pour ne plus avoir d'erreur ?

    Merci.

  9. #9
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Même chose, impossible de deviner sur une ligne de code prise hors contexte. Il faudrait au moins ce qui est lié (conditions, savoir précisément comment est définie cette variable justement, etc). Une erreur de portée ?

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Mars 2010
    Messages : 22
    Par défaut
    Cette ligne de code vient d'un bloc javascript qui est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <script type="text/javascript">
    <!--
    function MM_jumpMenu(targ,selObj,restore){ //v3.0
      eval(targ+".location='/Vente-xxx.php?marque="+selObj.options[selObj.selectedIndex].value+"'");
      if (restore) selObj.selectedIndex=0;
    }
    function MM_jumpMenuTriRub(targ,selObj,restore){ //v3.0
      eval(targ+".location='/Tri-xxx.php?id=<? echo $id; ?>&tri_sens="+selObj.options[selObj.selectedIndex].value+"'");
      if (restore) selObj.selectedIndex=0;
    }
    function MM_validateForm() { //v4.0
      if (document.getElementById){
        var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
        for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
          if (val) { nm=val.name; if ((val=val.value)!="") {
            if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
              if (p<1 || p==(val.length-1)) errors+='- '+nm+' doit contenir une adresse e-mail.\n';
            } else if (test!='R') { num = parseFloat(val);
              if (isNaN(val)) errors+='- '+nm+' doit contenir un nombre.\n';
              if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
                min=test.substring(8,p); max=test.substring(p+1);
                if (num<min || max<num) errors+='- '+nm+' doit contenir un nombre entre '+min+' et '+max+'.\n';
          } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' est obligatoire.\n'; }
        } if (errors) alert('Merci de verifier votre saisie :\n'+errors);
        document.MM_returnValue = (errors == '');
    } }
    //-->
    </script>
    Y-a-t-il un moyen de debugger l'ensemble du site ou du mettre un trace pour avoir une erreur plus explicite ?

    J'ai pas mal utilisé le logiciel glpi qui est basé également sur php MySQL et apache, et je me souviens qu'il existait un mode debug. Peux-t-on faire la même chose dans mon cas ?


    Merci d'avance,

  11. #11
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    La partie Javascript n'a rien d'intéressant : c'est une variable PHP et une erreur PHP. C'est dans la partie PHP qu'il faut la chercher de façon à déterminer si, d'une part elle existe, et d'autre part dans quelles conditions. Pour cela, il faut remonter de bas (la ligne à l'origine de l'erreur) en haut toutes les références à $id afin de déterminer sa provenance et/ou comment elle est initialisée.

    C'était la même chose avec la précédente : vous aviez un code commun à plusieurs scripts où le paramètre $_GET['id'] n'était présent que pour certains d'entre eux. Donc, forcément, PHP avec les notices activés, va vous signaler que vous cherchez à utiliser une variable/clé inexistante pour ceux où il est absent.

    L'erreur est suffisamment explicite : c'est une erreur de "conception". Je doute qu'un debugger ne vous en apprenne plus (dépendant du code). C'est une conséquence du manque de rigueur de ceux qui ont écrit ces scripts.

Discussions similaires

  1. Intéraction site PHP dans chan IRC
    Par YohDuDojo dans le forum IRC / mIRC
    Réponses: 1
    Dernier message: 12/04/2011, 11h13
  2. Créer un site php sans easyphp?
    Par Halima91 dans le forum Langage
    Réponses: 11
    Dernier message: 08/05/2007, 04h03
  3. [MySQL] Récupération de code php dans une base de données
    Par kitana dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 21/03/2006, 00h25
  4. [Conception] récupération d'une variable php dans une autre page
    Par vali7 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 18/01/2006, 11h19
  5. [XSLT] Utilisation de XML avec PHP dans le cadre d'un site
    Par nicolas66 dans le forum Bibliothèques et frameworks
    Réponses: 15
    Dernier message: 06/11/2005, 22h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo