|
Publicité | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mars 2010 Messages : 22 ![]() |
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. |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Et quel est le code en question ?
__________________
Posez vos questions techniques sur le forum, pas en privé (je n'y répondrai pas). [Général] "Ça ne marche pas" n'est pas une réponse acceptable. [PHP] Développez avec error_reporting à E_ALL (minimum). |
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : mars 2010 Messages : 22 ![]() |
Pour la première ligne il s'agit du code suivant se trouvant dans la page index.php:
Code :
Dernière modification par andry.aime ; 19/03/2010 à 12h10. Motif: Merci d'utiliser la balise [code](bouton # de l'éditeur) |
||
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() ![]() Inscription : juin 2002 Messages : 6 164 ![]() |
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) ?
__________________
Posez vos questions techniques sur le forum, pas en privé (je n'y répondrai pas). [Général] "Ça ne marche pas" n'est pas une réponse acceptable. [PHP] Développez avec error_reporting à E_ALL (minimum). |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : mars 2010 Messages : 22 ![]() |
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. |
|
|
00
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() ![]() Inscription : juin 2002 Messages : 6 164 ![]() |
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.
__________________
Posez vos questions techniques sur le forum, pas en privé (je n'y répondrai pas). [Général] "Ça ne marche pas" n'est pas une réponse acceptable. [PHP] Développez avec error_reporting à E_ALL (minimum). |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : mars 2010 Messages : 22 ![]() |
Merci à toi, j'ai donc mis cette valeur à On, j'ai une amélioration, j'ai récupérer l'interface d'admin du site mais pour ce qui est du site lui même il me transfère directement vers le site de production comme si il y a avait une redirection, je n'arrive pas à trouver la source de cette redirection. toute les pages ou j'ai trouvé en dur l'adresse de mon site de prod je l'ai remplacé par localhost mais si je doit parcourir toutes les pages du site je n'ai pas fini, de plus je me demande si cela vient vraiment de là.
Quand je regarde dans les logs d'apache maintenant j'ai ce type d'erreur: Undefined index: id in C:\\Program Files\\EasyPHP5.2.10\\www\\Includes\\Functions.php on line 611 quand je regarde cette ligne dans le code voilà ce que j'ai: Code :
if($Marque['id'] == $_GET['id'] && $_SERVER['PHP_SELF']=='/Marque.php') {echo ' selected="selected"';} Undefined variable: id in C:\\Program Files\\EasyPHP5.2.10\\www\\Includes\\Utils.php on line 403 Code :
eval(targ+".location='/Tri-xxxx.php?id=<? echo $id; ?>&tri_sens="+selObj.options[selObj.selectedIndex].value+"'"); Undefined index: q in C:\\Program Files\\EasyPHP5.2.10\\www\\Includes\\Menu_Gauche.php on line 29 Code :
<input type="text" name="q" value="<? echo $_GET['q']; ?>" /> Merci d'avance. |
|
|
00
|
|
|
#8 | ||
|
Expert Confirmé Sénior
![]() ![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Pour la redirection, elle peut éventuellement se trouver ailleurs que dans les scripts (.htaccess par exemple).
En ce qui concerne les erreurs, ce ne sont que des notice que vos prédécesseurs ont probablement tout simplement ignoré en configurant leur environnement de développement pour ne pas les montrer (paramètre error_reporting). Il aurait certes mieux valu tester l'existence (fonction isset) des variables externes (GET, POST, etc) avant de chercher à les utiliser pour ne pas avoir de tels messages. A vous de voir si vous souhaitez les corriger ou les ignorer en faisant de même. Code :
if(isset($_GET['id']) && $Marque['id'] == $_GET['id'] && $_SERVER['PHP_SELF']=='/Marque.php') {echo ' selected="selected"';} Code :
__________________
Posez vos questions techniques sur le forum, pas en privé (je n'y répondrai pas). [Général] "Ça ne marche pas" n'est pas une réponse acceptable. [PHP] Développez avec error_reporting à E_ALL (minimum). |
||
|
|
00
|
|
|
#9 | ||
|
Invité de passage
![]() Inscription : mars 2010 Messages : 22 ![]() |
il y avait effectivement des occurrences du nom de site dans htaccess mais je les ai toutes remplacer maintenant, voilà maintenant de quoi à l'air mon htacess
Code :
Merci d'avance. |
||
|
|
00
|
|
|
#10 | ||
|
Expert Confirmé Sénior
![]() ![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Supprimez :
Code X :
Si c'est le seul fichier htaccess, la redirection n'est pas là, elle doit être dans les scripts (pages d'erreur comprises). Utilisez éventuellement un outil pour tracer les requêtes/réponses HTTP. Une recherche (même avec une commande grep like) sur le nom de domaine du site de production ne donne rien ? Avez-vous repris la configuration d'Apache ?
__________________
Posez vos questions techniques sur le forum, pas en privé (je n'y répondrai pas). [Général] "Ça ne marche pas" n'est pas une réponse acceptable. [PHP] Développez avec error_reporting à E_ALL (minimum). Dernière modification par julp ; 22/03/2010 à 16h32. |
||
|
|
00
|
|
|
#11 | ||
|
Invité de passage
![]() Inscription : mars 2010 Messages : 22 ![]() |
J'avance petit à petit, j'ai trouvé toutes les redirections et je les ai modifié, j'ai maintenant pratiquement toute la page d'accueil sauf le footer je ne sais pas pourquoi mais ce n'est pas le plus grave, par contre quand j'essaie d'aller sur une autre page du site il ne trouve pas la page. Voilà ce qu'il me met dans les logs d'apache:
File does not exist: C:/Program Files/EasyPHP5.2.10/www/Materiel-de-xxx-xxx-xxx-xxx-xxx-xxx-id31-nom-asc-p1.htm, referer: http://localhost/ je sais que cela a rapport avec le htaccess mais je ne trouve pas d'ou cela vient, comment être sur qu'il va bien requêter la base de données ? de plus je ne comprend pas vraiment le paramètre rewriterule du htaccess ? Pouvez-vous m'aider sur ce point ? voilà maintenant le contenu de mon fichier htaccess: Code :
Merci d'avance |
||
|
|
00
|
|
|
#12 |
|
Expert Confirmé Sénior
![]() ![]() Inscription : juin 2002 Messages : 6 164 ![]() |
En fait, il me semble que sur EasyPHP, par défaut, les fichiers .htaccess ne sont pas pris en compte. Avez-vous bien AllowOverride à valeur All sur le bloc Directory correspondant à votre racine dans le fichier de configuration d'Apache ? (EasyPHP la définit peut être sous forme de variable)
__________________
Posez vos questions techniques sur le forum, pas en privé (je n'y répondrai pas). [Général] "Ça ne marche pas" n'est pas une réponse acceptable. [PHP] Développez avec error_reporting à E_ALL (minimum). |
|
|
00
|
|
|
#13 | ||
|
Invité de passage
![]() Inscription : mars 2010 Messages : 22 ![]() |
Effectivement dans le httpd.conf le paramètre était None, j'ai donc mis all mais malheureusement cela ne change rien. Je pense qu'il n'arrive pas a interpréter la variable id car dans les logs apaches il me mets toujours:
Undefined index: id in C:\\Program Files\\EasyPHP5.2.10\\www\\Includes\\Functions.php on line 611 qui correspond au bloc de code suivant: Code :
|
||
|
|
00
|
|
|
#14 | ||
|
Expert Confirmé Sénior
![]() ![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Hors contexte c'est difficile déjà de déterminer si elle est légitime ou non.
Y a-t-il réécriture lors de l'obtention de ce message ? La réécriture fonctionne bien maintenant ? Si oui, Options -MultiViews a bien été conservée ? Si non, avez-vous modifié le bon AllowOverride et redémarré Apache ? Est-ce possible d'avoir la sortie (telle qu'elle s'affiche en éditant la source de la page) du code ci-dessous placée dans la page concernée : Code :
__________________
Posez vos questions techniques sur le forum, pas en privé (je n'y répondrai pas). [Général] "Ça ne marche pas" n'est pas une réponse acceptable. [PHP] Développez avec error_reporting à E_ALL (minimum). |
||
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Inscription : mars 2010 Messages : 22 ![]() |
Bonjour,
excuse moi de te répondre maintenant mais une autre chose m'ait tombé dessus. Je ne comprend pas tout dans ta réponse car n'étant pas du tout un crack en php, j'ai du mal a assimiler certaines choses. Qu'entends-tu par réecriture ? pour le bout de code, où-dois je le mettre exactement, dans la page index ? Je pense avoir chnager le bon allowoverride et j'ai aussi redémarrer Apache. Merci |
|
|
00
|
|
|
#16 |
|
Expert Confirmé Sénior
![]() ![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Je voulais savoir s'il y avait ou non réécriture de l'URL par Apache. C'est ce que réalise Apache via les directives RewriteRule de votre fichier .htaccess que vous avez donné plus haut, lorsque vous demandez une URL virtuelle comme Article-de-xxxx-foo-bar-id98.htm et qu'il vous redirige, en interne, sur Produit.php?id=98. Mais ce n'est pas grave, nous pouvons le déterminer sur la valeur de $_SERVER['REQUEST_URI'].
Dans le script à l'origine de l'erreur.
__________________
Posez vos questions techniques sur le forum, pas en privé (je n'y répondrai pas). [Général] "Ça ne marche pas" n'est pas une réponse acceptable. [PHP] Développez avec error_reporting à E_ALL (minimum). |
|
|
00
|
|
|
#17 |
|
Invité de passage
![]() Inscription : mars 2010 Messages : 22 ![]() |
Bonjour,
je suppose que c'est cela que tu veux comme résultat: string(1) "/" string(10) "/index.php" array(0) { } cela s'affiche en haut à gauche quand je me rend sur ma page index et j'ai mis le bout de code que tu m'as donné ou j'avais l'erreur Dis moi si c'est ce que tu attendais ? Merci |
|
|
00
|
|
|
#18 |
|
Expert Confirmé Sénior
![]() ![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Ok, c'est donc tout simplement l'application qui est mal conçue en cherchant à utiliser des paramètres qui n'existent pas (en toute circonstance du moins). Ma précédente correction (cf post #8) pourrait être une façon de corriger cette "erreur" (qui n'est qu'une notice).
EDIT : en fait, il ne semble pas nécessaire d'ajouter du code à la ligne concernée, une simple réorganisation des tests pourrait suffire en mettant la partie $_SERVER['PHP_SELF']=='/Marque.php' en tout premier : Code :
if ($_SERVER['PHP_SELF'] == '/Marque.php' && $Marque['id'] == $_GET['id']) { echo ' selected="selected"'; }
__________________
Posez vos questions techniques sur le forum, pas en privé (je n'y répondrai pas). [Général] "Ça ne marche pas" n'est pas une réponse acceptable. [PHP] Développez avec error_reporting à E_ALL (minimum). |
|
|
00
|
|
|
#19 |
|
Membre régulier
![]() Inscription : mai 2004 Messages : 84 ![]() |
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 Dernière modification par vexa ; 25/03/2010 à 18h14. Motif: orthographe |
|
|
00
|
|
|
#20 |
|
Invité de passage
![]() Inscription : mars 2010 Messages : 22 ![]() |
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 :
eval(targ+".location='/Tri-xxxx.php?id=<? echo $id; ?>&tri_sens="+selObj.options[selObj.selectedIndex].value+"'"); Merci. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com