Forums Développement Multimédia

Aller au contenu

Mise à jour wordpress 2.7.1 et erreurs

CMS Wordpress

23 réponses à ce sujet

#1 d.a

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 99 messages

Posté 14 April 2009 - 10:10 AM

Bonjour,
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 ikyo

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 2442 messages

Posté 14 April 2009 - 10:24 AM

Bonjour Toto,

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 d.a

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 99 messages

Posté 14 April 2009 - 11:17 AM

Voir le messageIkyo, le Apr 14 2009, 09:24 AM, dit :

Bonjour Toto,

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 ikyo

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 2442 messages

Posté 14 April 2009 - 11:27 AM

C'est quand même très inspiré de la base Wordpress :
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 d.a

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 99 messages

Posté 14 April 2009 - 11:45 AM

Voir le messageIkyo, le Apr 14 2009, 10:27 AM, dit :

C'est quand même très inspiré de la base Wordpress :
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 ikyo

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 2442 messages

Posté 14 April 2009 - 11:54 AM

Voilà le fichier original.
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)

  • Fichier joint  classes.php   43.32 Ko   65 téléchargement(s)


#7 d.a

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 99 messages

Posté 14 April 2009 - 12:06 PM

Voir le messageIkyo, le Apr 14 2009, 10:54 AM, dit :

Voilà le fichier original.
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)

  • Fichier joint  classes.php   22.77 Ko   72 téléchargement(s)


#8 ikyo

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 2442 messages

Posté 14 April 2009 - 12:57 PM

Si cela t'intéresse, je t'invite à te plonger dans le codex WP, mais c'est assez touffu, d'autant plus que tu touches au core (noyau) de Wordpress, et qu'il faut en maîtriser les tenants et aboutissants pour changer les pions de place
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 d.a

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 99 messages

Posté 14 April 2009 - 15:23 PM

Voir le messageIkyo, le Apr 14 2009, 11:57 AM, dit :

Si cela t'intéresse, je t'invite à te plonger dans le codex WP, mais c'est assez touffu, d'autant plus que tu touches au core (noyau) de Wordpress, et qu'il faut en maîtriser les tenants et aboutissants pour changer les pions de place
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 d.a

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 99 messages

Posté 16 April 2009 - 09:15 AM

Bonjour,
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 ikyo

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 2442 messages

Posté 16 April 2009 - 09:48 AM

Bonjour gros toto

Il serait judicieux de ressituer ta requête dans le cadre général de ton problème (i.e ton dernier billet)

#12 pbmaske

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 3032 messages

Posté 16 April 2009 - 09:51 AM

Bonjour,
J'avais oublié ce topic...

Citation

Warning: Invalid argument supplied for foreach() in /homepages/24/d180269135/htdocs/blog/wp-includes/classes.php on line 92
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.

Citation

WP_Rewrite
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.

Citation

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(); } } ?>
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 ^^

#13 pbmaske

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 3032 messages

Posté 16 April 2009 - 09:54 AM

On déplace le sujet, on continuera dans l'autre billet.

#14 d.a

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 99 messages

Posté 16 April 2009 - 09:56 AM

Voir le messagedeuns, le Apr 16 2009, 08:54 AM, dit :

On déplace le sujet, on continuera dans l'autre billet.

ha oui pardon!

#15 pbmaske

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 3032 messages

Posté 16 April 2009 - 10:02 AM

Citation

Bonjour,
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 :mrgreen: Y'a t-il d'autres choses qu'on devrait savoir pour résoudre ton bug ? Comme... Est ce que ça a fonctionné avant ? Sur quel serveur tu es ? As-tu installé des plugins ?
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 d.a

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 99 messages

Posté 16 April 2009 - 10:18 AM

Voir le messagedeuns, le Apr 16 2009, 08:51 AM, dit :

Bonjour,
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 ikyo

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 2442 messages

Posté 16 April 2009 - 10:27 AM

Ikyo, il parlait de la modification du fichier classes.php et non DES classes de Wordpress.
Faut pas me faire dire ce que je n'ai pas dit.

#18 d.a

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 99 messages

Posté 16 April 2009 - 10:27 AM

Voir le messagedeuns, le Apr 16 2009, 09:02 AM, dit :

Haha j'adore :mrgreen: Y'a t-il d'autres choses qu'on devrait savoir pour résoudre ton bug ? Comme... Est ce que ça a fonctionné avant ? Sur quel serveur tu es ? As-tu installé des plugins ?
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 d.a

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 99 messages

Posté 16 April 2009 - 10:31 AM

Voir le messageIkyo, le Apr 16 2009, 09:27 AM, dit :

Ikyo, il parlait de la modification du fichier classes.php et non DES classes de Wordpress.
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 pbmaske

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 3032 messages

Posté 16 April 2009 - 10:57 AM

Ok, reprenons calmement depuis le début. Tu as eu ces erreurs suite à la mise à jour de WP c'est bien ça ? Avant tout fonctionnait correctement ?
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 d.a

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 99 messages

Posté 16 April 2009 - 11:06 AM

Voir le messagedeuns, le Apr 16 2009, 09:57 AM, dit :

Ok, reprenons calmement depuis le début. Tu as eu ces erreurs suite à la mise à jour de WP c'est bien ça ? Avant tout fonctionnait correctement ?
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 ^^).
non je n'ai pas fait la mise à jour.
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 ?
:mrgreen:

Merci à vous.

Le gros toto et son gros post

#22 d.a

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 99 messages

Posté 17 April 2009 - 10:23 AM

Faudrait essayer de passer à un niveau de reporting moins élevé E_ERROR dans php.ini.
Parait-il !

Je fais comment s'il vous plaît ? :lol:

#23 pbmaske

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 3032 messages

Posté 17 April 2009 - 11:22 AM

Heu c'est un peu risqué quand même, parce que ça corrigera pas les erreurs ça ne fera que les masquer pour l'utilisateur (mais si une fonctionnalité marche pas, personne ne le saura, ce qui n'est pas génial pour débugger).

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 d.a

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 99 messages

Posté 17 April 2009 - 11:29 AM

Voir le messagedeuns, le Apr 17 2009, 10:22 AM, dit :

Heu c'est un peu risqué quand même, parce que ça corrigera pas les erreurs ça ne fera que les masquer pour l'utilisateur (mais si une fonctionnalité marche pas, personne ne le saura, ce qui n'est pas génial pour débugger).

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 !
:lol:

Merci.



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP