

#1
Posté 14 April 2009 - 10:10 AM
je n'arrive pas à résoudre une erreur 404
Mon navigateur me dis ça:
Warning: Invalid argument supplied for foreach() in /homepages/24/d180269135/htdocs/blog/wp-includes/classes.php on line 92
Quelqu' un aurait-il un début de soluce pour m'aider ?
Merci.
#2
Posté 14 April 2009 - 10:24 AM
Sans plus de détail du code de classes.php, il me semble difficile que l'on puisse te démêler l'affaire.
As-tu essayer de faire une copie de ton fichier classes.php, puis d'écraser le fichier existant avec celui qui vient directement d'une config d'installation propre de Wordpress ?
#3
Posté 14 April 2009 - 11:17 AM
Ikyo, le Apr 14 2009, 09:24 AM, dit :
Sans plus de détail du code de classes.php, il me semble difficile que l'on puisse te démêler l'affaire.
As-tu essayer de faire une copie de ton fichier classes.php, puis d'écraser le fichier existant avec celui qui vient directement d'une config d'installation propre de Wordpress ?
Bonjour Ikyo,
En fait je reprend la main sur un site existant avec comme mission de debbuger cette erreur, comme je ne suis pas développeur je nage la brasse coulée.
pour répondre à ta question je crois que le blog n'as pas été construit avec Wordpress, mais avec dream et golive.
Sinon pour le code en voilà un bout : et la ligne 94 correspond à ça: // to the path info.
HTML
}
$this->request = $request;
// Look for matches.
$request_match = $request;
foreach ($rewrite as $match => $query) {
// If the requesting file is the anchor of the match, prepend it
// to the path info.
if ((! empty($req_uri)) && (strpos($match, $req_uri) === 0) && ($req_uri != $request)) {
$request_match = $req_uri . '/' . $request;
}
if (preg_match("!^$match!", $request_match, $matches) ||
preg_match("!^$match!", urldecode($request_match), $matches)) {
// Got a match.
$this->matched_rule = $match;
// Trim the query of everything up to the '?'.
$query = preg_replace("!^.+\?!", '', $query);
// Substitute the substring matches into the query.
eval("\$query = \"$query\";");
$this->matched_query = $query;
// Parse the query.
parse_str($query, $perma_query_vars);
// If we're processing a 404 request, clear the error var
// since we found something.
if (isset($_GET['error']))
unset($_GET['error']);
if (isset($error))
unset($error);
break;
}
Merci,
Toto
#4
Posté 14 April 2009 - 11:27 AM
http://wordpress.taragana.net/nav.html?wp-...php.source.html
Si tu nages la brasse coulée en php, débugger un fichier php inspiré de WP et codé sur Dreamweaver ou Golive (qui ne sont pas vraiment les outils de prédilection pour cela) est du très haut vol...Enfin de la très haute bidouille un peu vaseuse (pardonne moi ce qualificatif).
#5
Posté 14 April 2009 - 11:45 AM
Ikyo, le Apr 14 2009, 10:27 AM, dit :
http://wordpress.taragana.net/nav.html?wp-...php.source.html
Si tu nages la brasse coulée en php, débugger un fichier php inspiré de WP et codé sur Dreamweaver ou Golive (qui ne sont pas vraiment les outils de prédilection pour cela) est du très haut vol...Enfin de la très haute bidouille un peu vaseuse (pardonne moi ce qualificatif).
Bon et bien il ne me reste plus qu'a apprendre à nager alors !
#6
Posté 14 April 2009 - 11:54 AM
Quitte à bidouiller...essaye de le remplacer par le fichier classes.php existant (en n'en ayant fait une copie auparavant bien sûr)
Fichier(s) joint(s)
#7
Posté 14 April 2009 - 12:06 PM
Ikyo, le Apr 14 2009, 10:54 AM, dit :
Quitte à bidouiller...essaye de le remplacer par le fichier classes.php existant (en n'en ayant fait une copie auparavant bien sûr)
Merci c'est gentil, je vais essayer ça.
J'ai pas trop bien compris le concept des classes mais bon, va falloir que je m'y colle un jour.
voilà le fichier que j'ai est-ce très différent?
Fichier(s) joint(s)
#8
Posté 14 April 2009 - 12:57 PM
http://codex.wordpre...WordPress_Files
je cite :
wp-includes/classes.php
Contains basic classes including the core post-fetching mechanism, WP_Query, and the rewrite manger, WP_Rewrite.
#9
Posté 14 April 2009 - 15:23 PM
Ikyo, le Apr 14 2009, 11:57 AM, dit :
http://codex.wordpre...WordPress_Files
je cite :
wp-includes/classes.php
Contains basic classes including the core post-fetching mechanism, WP_Query, and the rewrite manger, WP_Rewrite.
Bon et bien maintenant je fais de la plongée sous marine !
ton fichier m'as fait une FATAL ERROR
j'ai donc remis mon fichier et j'ai maintenant :
Parse error: syntax error, unexpected $end in /homepages/24/d180269135/htdocs/blog/wp-includes/classes.php on line 744
et sur la ligne 744 j'ai ça :
'; die(); } } ?>
au secours ! y'a des requins!!
Merci
#10
Posté 16 April 2009 - 09:15 AM
est-il possible qu' une erreur 404 soit causée parce que wordpress est une ancienne version ?
J'ai la version 2.3.2 actuellement.
Merci.
#11
Posté 16 April 2009 - 09:48 AM
Il serait judicieux de ressituer ta requête dans le cadre général de ton problème (i.e ton dernier billet)
#12
Posté 16 April 2009 - 09:51 AM
J'avais oublié ce topic...
Citation
L'erreur que tu reçois n'a rien à voir avec une erreur 404. Une erreur 404 est l'absence d'une ressource demandée par un internaute. Dans ton cas c'est une erreur d'exécution de script. Une fois tes erreurs résolues tu accèderas correctement à ton document.
Citation
Citation
et sur la ligne 744 j'ai ça :
'; die(); } } ?>
Autrement je me demande quels besoins as-tu pour tenter de réutiliser ces classes ? Ne serait-il pas plus simple de faire tes propres classes ? Parceque comme l'a dis Ikyo, modifier des classes sans connaissance en la matière (ce que la non résolution des erreurs que tu donnes laisse à penser) tu n'as pas fini de débugger ^^
#13
Posté 16 April 2009 - 09:54 AM
#15
Posté 16 April 2009 - 10:02 AM
Citation
est-il possible qu' une erreur 404 soit causée parce que wordpress est une ancienne version ?
J'ai la version 2.3.2 actuellement.
Merci.
Haha j'adore

En fait en général on est pas devin et nous donner le maximum d'indices, les tests effectués ect... nous aide et surtout évite de nous faire perdre notre temps (ainsi que le tiens).
#16
Posté 16 April 2009 - 10:18 AM
deuns, le Apr 16 2009, 08:51 AM, dit :
J'avais oublié ce topic...
Je reviens un poil en arrière, concernant la première erreur que tu avais. Cette erreur générée est dû à l'utilisation d'un foreach (qui permet de parcourir une collection (comme un tableau)) sur un tableau qui ne contient qu'une ou 0 case.
L'erreur que tu reçois n'a rien à voir avec une erreur 404. Une erreur 404 est l'absence d'une ressource demandée par un internaute. Dans ton cas c'est une erreur d'exécution de script. Une fois tes erreurs résolues tu accèderas correctement à ton document.
Je note que ça par contre ça peut faire des erreurs 404. L'url rewriting peut générer ce type d'erreurs, s'il est incorrectement utilisé, il ne pointera pas vers les bons documents d'où une erreur de ce type.
Peux tu rerécupérer les sources originales et tester ?
Autrement je me demande quels besoins as-tu pour tenter de réutiliser ces classes ? Ne serait-il pas plus simple de faire tes propres classes ? Parceque comme l'a dis Ikyo, modifier des classes sans connaissance en la matière (ce que la non résolution des erreurs que tu donnes laisse à penser) tu n'as pas fini de débugger ^^
Oui, j'ai les sources originale, comment dois-je faire pour tester et résoudre les erreurs?
Ce qui me desapointed c'est cette erreur d'exécution de script dont tu me parles.
d' après les informations que j'ai personne n'as touché au code et tout fonctionnait parfaitement, et puis un jour pouf! la panne, bref.
Pour répondre à ta question sur les classes, c'est ikio qui m'avait fait cette suggestion, mais de toutes façons ça n'as pas résolu le souci.
En effet comme je n'y connais presque rien, ça risque du durer un moment, et le propriétaire à plein de post à faire en plus il me met la pression !
#17
Posté 16 April 2009 - 10:27 AM
Faut pas me faire dire ce que je n'ai pas dit.
#18
Posté 16 April 2009 - 10:27 AM
deuns, le Apr 16 2009, 09:02 AM, dit :

En fait en général on est pas devin et nous donner le maximum d'indices, les tests effectués ect... nous aide et surtout évite de nous faire perdre notre temps (ainsi que le tiens).
oui ça fonctionnait avant.
le serveur c'est chez one&one
Les plug-in : Advanced TinyMCE Editor / lbcd78 Meta Keyword Generator / Math Comment Spam Protection / WP-SpamFree
ils sont tous activer, je vai me rencarder pour savoir si quelqu'un en aurais ajouter ou activer un récemment.
Quand au test, on a essayer de retirer certains post et de les ajouter, pour voir mais ça donne rien.
#19
Posté 16 April 2009 - 10:31 AM
Ikyo, le Apr 16 2009, 09:27 AM, dit :
Faut pas me faire dire ce que je n'ai pas dit.
ha sorry, c'est pas le même fichier ?
j'y comprend rien à tout ce bousin, je suis vraiment une grosse truffe !
Désolé m'sieur Dames
#20
Posté 16 April 2009 - 10:57 AM
Avant de faire quoi que ce soit d'autres, je te conseille de faire une sauvegarde de ta base données en l'état ainsi que de tout le dossier sur le serveur (chose qui normalement a déjà dû être fait avant la mise à jour, si ce n'est pas le cas tu as effectivement un gros problème, et je pense que ton client a pas fini de te mettre la pression ^^).
#21
Posté 16 April 2009 - 11:06 AM
deuns, le Apr 16 2009, 09:57 AM, dit :
Avant de faire quoi que ce soit d'autres, je te conseille de faire une sauvegarde de ta base données en l'état ainsi que de tout le dossier sur le serveur (chose qui normalement a déjà dû être fait avant la mise à jour, si ce n'est pas le cas tu as effectivement un gros problème, et je pense que ton client a pas fini de te mettre la pression ^^).
J'ai toucher à rien, de toute façon quand je touche je casse, je me connais!
J'ai vérifié la syntaxte du script du fichier classes.php par rapport à ce que tu me disais pour trouver les erreurs de script.
et il m'as surligné cette partie
;
die();
}
}
?>
du ce bout de code ci dessous:
function send() { header('Content-Type: text/xml'); echo "<?xml version='1.0' standalone='yes'?><wp_ajax>"; foreach ( $this->responses as $response ) echo $response; echo '</wp_ajax>'; die(); } } ?>
ça vous inspire ?

Merci à vous.
Le gros toto et son gros post
#22
Posté 17 April 2009 - 10:23 AM
Parait-il !
Je fais comment s'il vous plaît ?

#23
Posté 17 April 2009 - 11:22 AM
Non la meilleur solution est de faire un export en sql de ta bdd et de récupérer les fichiers que tu as modifié (genre css squelette tout ça...). Puis supprimer tout, bdd et wordpress, et de faire une réinstall clean : installer wordpress 2.7.1 (attention lors de l'installation choisir les même noms de table), importer le précédent export de ta bdd, puis remettre les anciens fichiers (squelettes persos, css, images ect...), ainsi que les plugins.
#24
Posté 17 April 2009 - 11:29 AM
deuns, le Apr 17 2009, 10:22 AM, dit :
Non la meilleur solution est de faire un export en sql de ta bdd et de récupérer les fichiers que tu as modifié (genre css squelette tout ça...). Puis supprimer tout, bdd et wordpress, et de faire une réinstall clean : installer wordpress 2.7.1 (attention lors de l'installation choisir les même noms de table), importer le précédent export de ta bdd, puis remettre les anciens fichiers (squelettes persos, css, images ect...), ainsi que les plugins.
Houlaa !

Merci.
1 utilisateur(s) li(sen)t ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)