Bonjour,
une mise à jour de version cercopithèque->doryphore s’est soldée par un échec.
La méthode A par la page mise à jour et la méthode B par ftp ont produit le même effet, une page d’erreur: Il semble y avoir un problème sur ce site… code d’erreur: 500 internal server error…
j’ai suivi scrupuleusement les étapes mais j’ai du répéter la même erreur?
Par avance, merci de vos suggestions.
Lupo
Quelle version de php est sur le serveur ?
la version doryphore nécessite au minimum php 7.3
Bonsoir,
merci de votre réponse.
J’ai tenté d’en connaître plus sur la version php mais après avoir fouillé dans les fichiers du FTP je n’ai pas su où trouver cette information.
Rebonsoir,
en allant sur mon compte ovh, j’ai mis la main sur l’information concernant php qui affiche la version 7.3. Toutefois, un message d’avertissement accompagne ce chiffre qui stipule que cette version n’est plus maintenue et il suggère de procéder à une mise à jour.
s’il n’y a rien d’autre sur le serveur, il serait bien de passer a au moins php 8.3
Merci,
OVH propose des boutons de mise à jour sur de nombreuses versions. Je vais suivre votre conseil et mettre directement à jour vers la version 8.3.
J’ai finalement opté pour la dernière version disponible php 8.5.
Mais cela n’a rien changé. Le site est toujours en rade avec pour message d’erreur: Code d’erreur : 500 Internal Server Error.
Bonjour,
vous devriez trouver sur votre hébergement ou dans la console OVH les logs des erreurs.
(souvent souvent la forme d’un fichier error_log).
le Code d’erreur : 500 Internal Server Error implique nécessairement le détail de l’erreur dans les logs erreurs.
Ce détail permettra de voir d’où vient le problème.
Donc, partez à la recherche des logs d’erreurs et il nous sera plus facile de vous aider à trouver la solution.
Amicalement,
Eric
Bonjour Ericcar,
merci pour votre proposition. Je suis allé voir les logs chez l’hébergeur dont celui des erreurs. Il se contente signaler les activités du wiki et de signaler les erreurs sans donner la moindre indication qui me permettrait de les diagnostiquer et d’y remédier. Je crois que je suis bon pour repartir de zéro avec un doryphore. J’ai les données en entrepôt. Je gère plusieurs wiki associatifs. Il en reste un en cercopithèque. Celui est moins important car voué à terme à la déshérence et restera en cercopithèque.
Merci de votre aide.
peut etre vérifier aussi le tuto détaillé ici https://yeswiki.net/archive/?DocumentationMiseAJour
(en particulier, par ftp, renommer le dossier tools avant de mettre le nouveau code)
Aussi, rajouter a l’url de votre page wiki cassée &debug=1 peut parfois donner des informations, sauf si le plantage est vraiment sérieux.
Bonjour,
j’ai bien suivi les recommandations trouvées dans YesWiki : Mettre à jour YesWiki
en particulier renommer le dossier tools en tools.old pour faire place au nouveau.
pour suivre votre recommandation avec &debug=1, cela donne une page avec 82 lignes commençant par « deprecated: » entrecoupée par une ligne:
Warning: Cannot modify header information - headers already sent by (output started at /home/vialasfryf/www/MoulinBonijol/includes/YesWikiPlugins.php:107) in /home/vialasfryf/www/MoulinBonijol/tools/templates/wiki.php on line 76
La page finit par:
Parse error: syntax error, unexpected token « { » in /home/vialasfryf/www/MoulinBonijol/includes/Encoding.php on line 196
Mais je ne sais comment m’y prendre avec ces informations
Bonjour,
il te faut ouvrir le fichier : /home/vialasfryf/www/MoulinBonijol/includes/Encoding.php
C’est à la ligne 196 que cela se passe.
Cette erreur est une erreur de syntaxe PHP assez classique.
En clair, PHP a rencontré une {` là où il ne s’y attendait pas.
Fort possible qu’il y a un saut de ligne après un if.
En ouvrant le même fichier sur un yeswiki, j’ai :
for ($i = 0; $i < $max; $i++) {
$c1 = $text[$i];
if ($c1 >= "\xc0") { //Should be converted to UTF8, if it's not UTF8 already
$c2 = $i + 1 >= $max ? "\x00" : $text[$i + 1];
$c3 = $i + 2 >= $max ? "\x00" : $text[$i + 2];
$c4 = $i + 3 >= $max ? "\x00" : $text[$i + 3];
Si tu as le même code vérifie qu’il n’y a pas de retour à la ligne avant les { .
Exemple (en partant du code précédent) :
for ($i = 0; $i < $max; $i++)
{
$c1 = $text[$i];
if ($c1 >= « \xc0 »)
{ //Should be converted to UTF8, if it’s not UTF8 already
J’espère que ça pourra t’aider.
Amicalement,
Eric
Bonsoir Eric,
merci pour vos suggestions qui me font avancer.
où se trouve le fichier: /home/vialasfryf/www/MoulinBonijol/includes/Encoding.php
et avec quoi l’ouvre-t-on?
Faudrait vraiment mettre la version 8.3 de php, car la 8.5 est trop récente, personnellement je ne sais pas si elle est compatible, en tout cas les erreurs deprecated sont typiques d’une version de php trop récente.
Aussi sur les versions récentes de yeswiki, il n’y a pas autant de lignes dans le fichier tools/templates/wiki.php
Avez vous bien pris le code source sur https://repository.yeswiki.net/doryphore/yeswiki-doryphore-4.5.5.zip ?
Aussi l’erreur parle de MoulinBonijol qui semble être le sous dossier de votre wiki, avec vous bien fait les manip de mises a jour dans ce sous-dossier?
Bonjour Eric,
pourriez-vous me préciser où se trouve le fichier /home/vialasfryf/www/MoulinBonijol/includes/Encoding.php et avec quoi l’ouvrir.
Pour répondre à mrflosperso, j’ai bien pris le bon code source doryphore 4.5.5, tout fait comme écrit sur le tuto, méthode A directement la MAJ sur le wiki, puis méthode B avec filezilla après avoir remis le cercopithèque.
J’ai un nom de domaine sur lequel figure plusieurs wikis comme autant d’associations. Celui de l’association Zakotés a migré sans problème de cercopithèque à doryphore. En revanche, la migration de l’association Moulin Bonijol a capoté.
Bonjour,
en FTP, vous pourrez trouver le fichier Encoding.php en suivant les dossiers /home/vialasfryf/www/MoulinBonijol/includes/
le dossier home contient le dossier vialasfrys qui contient lui-même le dossier www, etc.
Donc, il vous faut vous connecter en FTP et aller dans le dossier includes.
Vous pourrez ouvrir le fichier avec un éditeur de texte.
Bon week-end,
Eric
Merci Eric,
il y avait bien une erreur ligne 196. j’ai remis ce qui suit sur la même ligne. ça donne ceci:
for($i = 0; $i < $max; $i++){$c1 = $text{$i};
if($c1>="\xc0"){ //Should be converted to UTF8, if it’s not UTF8 already
$c2 = $i+1 >= $max? « \x00 » : $text{$i+1};
$c3 = $i+2 >= $max? « \x00 » : $text{$i+2};
$c4 = $i+3 >= $max? « \x00 » : $text{$i+3};
Le message d’erreur sur debug donne ceci:
Fatal error: Array and string offset access syntax with curly braces is no longer supported in /home/vialasfryf/www/MoulinBonijol/includes/Encoding.php on line 195
je ne suis pas assez calé pour comprendre pour quelle raison, les curly braces dans ce contexte ne sont plus supportés.
Question ?
êtes-vous passé à la version PHP 8.3 (au lieu de 8.5) comme mrflosperso vous l’a conseillé ?
Oui Eric,
je suis passé à php 8.3.
Il y a beaucoup moins de « deprecated », mais il en reste 18, plus le fatal error
bien à vous
Merci à Ericcar et à mrflosperso de m’avoir aidé à tenter de comprendre d’où venaient les erreurs de plantage du wiki Moulin Bonijol après la mise à jour de cercopithèque à doryphore. Dans l’impossibilité de savoir interpréter la « fatal error » et les deprecated listés grâce à &debug, j’ai comparé les documents incriminés avec ceux d’un autre wiki Les Zakotés dont la migration avait réussi. Je n’ai pas repéré de différence à la ligne où était signalée la fatal error. J’ai fini par copier l’ensemble du fichier encoding.php du wiki Les Zakotés et coller le tout sur le fichier problématique du wiki qui plantait. La manip m’a permis de retrouver le wiki Moulin Bonijol et je vais pouvoir retravailler pour le finaliser et le mettre en ligne sur son domaine dédié.
… toutefois, les 18 signalements deprecated subsistent. Je vais donc faire la même manip: copier les fichiers sains du wiki sain vers les fichiers du wiki problématique.