Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
871 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [RESOLU] Cherche dépanneur en PHP pour mediawiki

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU] Cherche dépanneur en PHP pour mediawiki

n°2278946
gennievre
Posté le 05-04-2016 à 19:43:28  profilanswer
 

Bonjour
Le wiki de notre asso est hébergé par Infomaniak et réalisé à partir de mediawiki 1.16.0
Notre hébergement est passé de la version 5.2 de PHP à la version 5.5 ce qui a causé quelques problèmes. Les contenus sont toujours là mais désormais inaccessibles.
Page d'accueil http://www.gennievre.net/wiki/
Nous cherchons donc quelqu'un qui puisse remettre en service ce wiki qui contient un nombre colossal de données.
Merci pour vos propositions


Message édité par gennievre le 08-04-2016 à 17:29:55
mood
Publicité
Posté le 05-04-2016 à 19:43:28  profilanswer
 

n°2279010
rufo
Pas me confondre avec Lycos!
Posté le 06-04-2016 à 10:30:06  profilanswer
 

Les erreurs ne sont pas affichées. Il faut donc, soit dans le fichier de conf (LocalSettings.php) soit dans le index.php mettre vers le début du fichier, le code suivant :
error_reporting(E_ALL);
 
Ca permettra de voir déjà qu'est-ce qui ne va pas. Ensuite, ben y'aura qu'à corriger les erreurs une à une.
 
Pour avoir eu à traiter un pb similaire avec une de mes applis web anciennes et être passé de PHP 5.1 à 5.6, mes principales erreurs venaient de la lib Pear:DB et du fait qu'il manquait le mot-clé "static" devant certaines méthodes d'objets justement appelées en statique.
ex : MonObj::MaMethodeStatique()
 
Dans l'objet, la méthode était déclarée :
Class MonObj {
    public function MaMethodeStatique() {
    ....
    }
}
 
Après "public", il fallait ajouter "static" ;) Je pense que ça doit être le même pb.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2279053
gennievre
Posté le 06-04-2016 à 15:16:03  profilanswer
 

rufo a écrit :

Les erreurs ne sont pas affichées. Il faut donc, soit dans le fichier de conf (LocalSettings.php) soit dans le index.php mettre vers le début du fichier, le code suivant :
error_reporting(E_ALL);
 
Ca permettra de voir déjà qu'est-ce qui ne va pas. Ensuite, ben y'aura qu'à corriger les erreurs une à une.
 
Pour avoir eu à traiter un pb similaire avec une de mes applis web anciennes et être passé de PHP 5.1 à 5.6, mes principales erreurs venaient de la lib Pear:DB et du fait qu'il manquait le mot-clé "static" devant certaines méthodes d'objets justement appelées en statique.
ex : MonObj::MaMethodeStatique()
 
Dans l'objet, la méthode était déclarée :
Class MonObj {
    public function MaMethodeStatique() {
    ....
    }
}
 
Après "public", il fallait ajouter "static" ;) Je pense que ça doit être le même pb.


 
 
Je fais la manip' pour faire apparaître les erreurs et je reviens poster ici.
Merci pour cette réponse rapide

n°2279055
gennievre
Posté le 06-04-2016 à 15:26:43  profilanswer
 

rufo a écrit :

Les erreurs ne sont pas affichées. Il faut donc, soit dans le fichier de conf (LocalSettings.php) soit dans le index.php mettre vers le début du fichier, le code suivant :
error_reporting(E_ALL);

 

Ca permettra de voir déjà qu'est-ce qui ne va pas. Ensuite, ben y'aura qu'à corriger les erreurs une à une.

 

Pour avoir eu à traiter un pb similaire avec une de mes applis web anciennes et être passé de PHP 5.1 à 5.6, mes principales erreurs venaient de la lib Pear:DB et du fait qu'il manquait le mot-clé "static" devant certaines méthodes d'objets justement appelées en statique.
ex : MonObj::MaMethodeStatique()

 

Dans l'objet, la méthode était déclarée :
Class MonObj {
    public function MaMethodeStatique() {
    ....
    }
}

 

Après "public", il fallait ajouter "static" ;) Je pense que ça doit être le même pb.

  


Je viens d'ajouter la ligne dans index.php -> il ne se passe rien
Puis dans LocalSettings.php  -> rien non plus
Je pensais que les erreurs apparaissaient dans la page mais il y a peut être un fichier qui se génère ?


Message édité par gennievre le 06-04-2016 à 15:34:34
n°2279085
rufo
Pas me confondre avec Lycos!
Posté le 07-04-2016 à 08:54:49  profilanswer
 

Regarder aussi si devant ne nom de certaines fonctions, il n'y aurait pas un "@". Ca masque les erreurs.
 
Regarder aussi si qq part dans le code, il n'y aurait pas une directive qui annulerait l'effet de error_reporting(E_ALL).
 
Je regarderais ça dans mon Mediawiki (mais c'est un 1.11). si je trouve qq chose qui empêcherait l'affichage des erreurs...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2279090
gennievre
Posté le 07-04-2016 à 10:23:35  profilanswer
 

Si je vous dépose le code du script, ça peut vous aider ?  
J'anonymiserai les données sensibles. :)

n°2279094
rufo
Pas me confondre avec Lycos!
Posté le 07-04-2016 à 11:03:05  profilanswer
 

Euh, tout le code source de Mediawiki, ça va peut-être faire un peu gros, sans compter qu'il faut la BD avec un minimum de contenu. :whistle:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2279107
rufo
Pas me confondre avec Lycos!
Posté le 07-04-2016 à 12:01:03  profilanswer
 

Je pensais qu'en mettant ceci dans le LocalSetting.php ou index.php, ça le ferait :

Code :
  1. ini_set('display_errors', 1);
  2. ini_set('log_errors', 1);
  3. ini_set('error_log', dirname(__FILE__).'/logs/log_error_php.txt');


 
J'ai ajouté dans le index.php un bout de code levant un warning. Rien, aucune erreur ne s'affiche et pas de fichier de log créé. Bizarre :??:
 
Edit : ah si, ça marche, il fallait mettre les droits 777 sur le répertoire /logs/.


Message édité par rufo le 07-04-2016 à 12:06:22

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2279108
gennievre
Posté le 07-04-2016 à 12:12:53  profilanswer
 

Bingo !
En ajoutant ces 4 lignes dans index.php, ça génère les erreurs qui sont apparues sur la page web
Je les ai recopiées et j'ai ajouté le code concerné en dessous
 
 
Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/www/f8d56dcb8a058b382b573d2a8274e93a/web/wiki/includes/MagicWord.php on line 722
 
Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/www/f8d56dcb8a058b382b573d2a8274e93a/web/wiki/includes/MagicWord.php on line 722
 
Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/www/f8d56dcb8a058b382b573d2a8274e93a/web/wiki/includes/MagicWord.php on line 722
 
Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/www/f8d56dcb8a058b382b573d2a8274e93a/web/wiki/includes/MagicWord.php on line 722
 
Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/www/f8d56dcb8a058b382b573d2a8274e93a/web/wiki/includes/MagicWord.php on line 722
 
Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/www/f8d56dcb8a058b382b573d2a8274e93a/web/wiki/includes/MagicWord.php on line 722
 
Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/www/f8d56dcb8a058b382b573d2a8274e93a/web/wiki/includes/MagicWord.php on line 722
 
Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/www/f8d56dcb8a058b382b573d2a8274e93a/web/wiki/includes/MagicWord.php on line 700
 
Warning: Invalid argument supplied for foreach() in /home/www/f8d56dcb8a058b382b573d2a8274e93a/web/wiki/includes/MagicWord.php on line 701
 
Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/www/f8d56dcb8a058b382b573d2a8274e93a/web/wiki/includes/MagicWord.php on line 705
 
Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/www/f8d56dcb8a058b382b573d2a8274e93a/web/wiki/includes/MagicWord.php on line 700
 
Warning: Invalid argument supplied for foreach() in /home/www/f8d56dcb8a058b382b573d2a8274e93a/web/wiki/includes/MagicWord.php on line 701
 
Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/www/f8d56dcb8a058b382b573d2a8274e93a/web/wiki/includes/MagicWord.php on line 705
 
Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/www/f8d56dcb8a058b382b573d2a8274e93a/web/wiki/includes/MagicWord.php on line 722
 
Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/www/f8d56dcb8a058b382b573d2a8274e93a/web/wiki/includes/MagicWord.php on line 722
 
 
Et voici donc les lignes incriminées
 
689 /**
  * Returns an associative array, ID => param value, for all items that match
  * Removes the matched items from the input string (passed by reference)
  */
 public function matchAndRemove( &$text ) {
  $found = array();
  $regexes = $this->getRegex();
  foreach ( $regexes as $regex ) {
   if ( $regex === '' ) {
    continue;
   }
700   preg_match_all( $regex, $text, $matches, PREG_SET_ORDER );
701   foreach ( $matches as $m ) {
    list( $name, $param ) = $this->parseMatch( $m );
    $found[$name] = $param;
   }
705   $text = preg_replace( $regex, '', $text );
  }
  return $found;
 }
 
 /**
  * Return the ID of the magic word at the start of $text, and remove
  * the prefix from $text.
  * Return false if no match found and $text is not modified.
  * Does not match parameters.
  */
 public function matchStartAndRemove( &$text ) {
  $regexes = $this->getRegexStart();
  foreach ( $regexes as $regex ) {
   if ( $regex === '' ) {
    continue;
   }
722   if ( preg_match( $regex, $text, $m ) ) {
    list( $id, $param ) = $this->parseMatch( $m );
    if ( strlen( $m[0] ) >= strlen( $text ) ) {
     $text = '';
    } else {
     $text = substr( $text, strlen( $m[0] ) );
    }
    return $id;
   }
  }
  return false;
 }
}

n°2279115
rufo
Pas me confondre avec Lycos!
Posté le 07-04-2016 à 13:45:46  profilanswer
 

http://php.net/manual/fr/function.preg-match.php
 
Je pense que tu devrais vérifier le contenu de $regex, ou plus rapidement, de $regexes en faisant soit print_r($regexes), soit var_dump($regexes);
 
Doit y avoir dedans du contenu qui lui plait pas.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
mood
Publicité
Posté le 07-04-2016 à 13:45:46  profilanswer
 

n°2279117
rufo
Pas me confondre avec Lycos!
Posté le 07-04-2016 à 13:48:12  profilanswer
 

http://stackoverflow.com/questions [...] -are-blank
-> je crois que tu es dans le caca :o Apparemment (j'ai lu en diagonale), il faudrait passer en Mediawiki 1.22.6 :/
 
Lire aussi : https://www.mediawiki.org/wiki/Topic:Rlm4cd0xrakgfg94
Edit : dans ce dernier lien, il parle d'un patch mais pour du 1.22.


Message édité par rufo le 07-04-2016 à 13:49:50

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2279126
gennievre
Posté le 07-04-2016 à 15:14:59  profilanswer
 

J'ai bien l'impression qu'il va me falloir upgrader mediawiki. La version 1.16 date pas mal, il semble qu'au niveau failles de sécurité, elle ne soit pas au top. La solution semble bien d'aller vers une version récente, la 1.26  
Il ne me reste qu'à te remercier pour cette patience et la réponse à mes messages successifs. Une autre aventure va commencer pour moi: ne rien foirer avec le changement de version, la doc est un poil technique en anglais  :kaola:

n°2279158
rufo
Pas me confondre avec Lycos!
Posté le 07-04-2016 à 21:05:54  profilanswer
 

Bon courage. ;) AU moins tu as une solution à ton pb. En info, c'est pas toujours le cas :whistle:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2279170
gennievre
Posté le 08-04-2016 à 07:05:38  profilanswer
 

Merci, Rufo.
Sans ton aide, je n'aurais pas eu assez confiance et assez d'encouragement.
J'ai fait une install de la version 1.26 dans un autre répertoire, je l'ai paramétrée à l'identique (j'ai un peu pataugé avec certaines options de la nouvelle version, il faut absolument que je trouve un forum mediawiki francophone pour quelques points) et après une reconstruction de la base de données et quelques ultimes correctifs à ma portée, la nouvelle version fonctionne dans le nouvel environnement php.
Victoire ! Et merci encore.

n°2279172
rufo
Pas me confondre avec Lycos!
Posté le 08-04-2016 à 10:08:05  profilanswer
 

Bon ben tant mieux que ton pb soit résolu ;)
 
Edit : mets [RESOLU] dans le titre de ton premier post pour mettre à jour le titre du topic et ainsi, informer les autres que tu n'as plus besoin d'aide.


Message édité par rufo le 08-04-2016 à 10:09:15

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [RESOLU] Cherche dépanneur en PHP pour mediawiki

 

Sujets relatifs
Générer un JSON avec un script PHP et l'exploiter dans de l'AngularJS[PHP/Bootstrap] Problème de pièce jointe et d'envoi de données
Automatisation d'un script PHP avec CRON[Symfony/Php] vers Application mobile
[PHP] Besoin d'aide pour résoudre un message d'erreurQue pensez vous de PHP CLASSIFIED ?
[HTML5/PHP] Galerie d'images générée dynamiquementPseudo frames en PHP
[CMS-WordPress] Je cherche des thèmes/Plugins WordPressSystème de commentaire sur liste en PHP/AJAX
Plus de sujets relatifs à : [RESOLU] Cherche dépanneur en PHP pour mediawiki


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR