Uutiset:

Bored?  Looking to kill some time?  Want to chat with other SMF users?  Join us in IRC chat or Discord

Main Menu
Advertisement:

Problème d'upgrade

Aloittaja moskua, tammikuu 31, 2009, 05:56:05 IP

« edellinen - seuraava »

moskua

Lorsque j'ai voulu optimiser les tables depuis la section Maintenance du forum, j'ai eu un message du type "access denied... smf is 1.1.7 and your database is 1.1, execute upgrade.php may resolve the problem" (ou quelque chose dans le genre, je n'ai plus accès au message d'erreur) pourtant j'étais bien en 1.1.7 depuis un certain temps.

J'ai donc télécharger le fichier SMF hxxp:update.zip [nonactive] et j'ai uploadé son contenu sur mon ftp, puis j'ai exécuté upgrade.php. Un message me disait que tous les fichiers étaient bien là apparemment, j'ai laissé coché la case "Dire aux invités que le forum est en maintenance" et j'ai cliqué sur le bouton Continuer.

Et là, la première ligne affichait Successful, mais dès la 2ème j'ai eu une ligne qui affichait Unsuccessful, j'ai recommencé l'opération mais cette fameuse ligne réapparait, voici le message :

LainaaUpgrading...
Updating and creating indexes... Unsuccessful!
This query:
ALTER TABLE smf_smileys
ORDER BY LENGTH(code) DESC;
Caused the error:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LENGTH(code) DESC' at line 2

Depuis je n'ai plus aucun accès au forum, il affiche le message de maintenance suivant :

LainaaUpgrading the forum...
Don't worry, we will be back shortly with an updated forum. It will only be a minute ;).

Je ne sais pas quoi faire... quel fichier éditer, ou quoi changer dans MySQL, et comment ? Je ne suis pas très familier des codes php et encore moins MySQL. Pouvez-vous m'aider SVP ?

Puis-je au moins réaccéder au panneau d'admin pour retirer ce message de maintenance, afin de permettre aux membres de se connecter au forum ? Sachant que j'ai une sauvegarde des anciens fichiers qui ont été écrasés par cet upgrade, est-ce que remettre les fichiers d'origine peut résoudre le problème ou est-ce que ça va empirer la situation ?

maximus23

Bonjour,

Pour enlever le mode maintenance manuellement aller dans le fichier settings.php qui se trouve dans le root du forum et modifier la ligne : $maintenance = '0'; pour quelle afiche cela elle doit être sur 1 ou 2 suivant le type de maintenance du forum donc la remettre sur 0.

Pour l'erreur du fichier upgrade c'est une erreur de syntaxe de ton fichier upgrade au niveau du "LENGTH(code)". Il faut mofier cette ligne dans le fichier upgrade_1-1.sql :

Chercher :

ORDER BY LENGTH(code) DESC;

et remplacer par :

ORDER BY LENGTH DESC;


Comme cela tu pourras faire ton upgrade des bases :)

Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

moskua

Ouaow ! Super ! Merci pour cette réponse claire et rapide  ;)
Je vais essayer de faire tout ça...

moskua

Je suis de retour...

J'ai modifié le code dans le fichier upgrade_1-1.sql et ça a en effet résolu le problème. Mais 4 lignes plus loin, à nouveau une erreur :

LainaaUpgrading...
Updating Settings.php... Successful.
Updating and creating indexes... Successful.
Reorganizing configuration settings... Successful.
Installing new default theme... Successful.
Adding and updating member data...
Fatal error: set_time_limit() [<a href='function.set-time-limit'>function.set-time-limit</a>]: Cannot set time limit in safe mode in /upgrade.php on line 1507

Je suis donc allé dans le fichier en question à la ligne 1507 et j'ai ceci :

Lainaa@set_time_limit(300);

Faut-il juste que je retire la valeur "300" ? Que dois-je faire ? Je ne voudrais pas faire de bêtise...
Selon votre réponse je pense que je pourrai suivre la même logique par la suite si j'ai à nouveau des erreurs de ce type, afin de résoudre mes problèmes tout seul comme un grand...

Merci pour votre aide.

maximus23

Bonjour,

Cela est du à un problème de "set time limit" ce qui est une limitation d'éxécution des scripts qui est mise par ton hébergeur. Il faudrait essayer de voir cela avec lui car logiquement un upgrade doit pouvoir se faire normalement. Il doit y avoir un truc mal réglé au niveau du php.ini. Ou alors il applique des restrictions dragonnienes qui empêche toute installatiuon de scripts ...

Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

moskua

Bonjour,

L'hébergeur est Free, j'ai déjà installé de nombreux modules en php, et aussi mis SMF à jour régulièrement, je ne comprends pas pourquoi cette fois la limitation des scripts serait différente.

J'ai annulé l'option "mode maintenance" en modifiant le fichier setting.php, donc a priori le forum est à nouveau accessible pour tous. Est-ce que je peux laisser le forum tel quel ou est-ce que je risque de rencontrer des dysfonctionnements ?

Sinon j'ai fait une sauvagarde complète (smf-complete_2009-01-31.sql.gz) depuis la section Maintenance du panneau d'administration avant de faire l'upgrade. Est-ce que je peux éventuellement me créer un nouveau répertoire sur mon FTP pour y installer une nouvelle version vierge de SMF, puis remettre mes réglages et les posts des utilisateurs grâce à ce backup ? Si oui, comment faire ? (je n'ai pas vu d'option permettant de recharger un backup dans le panneau d'admin)

GravuTrad

problème déja abordé maintes fois.
Tu as fais une recherche sur le forum?
recherche "set time limit" en section française et tu verras qu'il faut commenter la ligne ou toute la fonction...
On a toujours besoin d'un plus petit que soi! (Petit!Petit!)


Think about Search function before posting.
Pensez à la fonction Recherche avant de poster.

moskua

J'avais bien fait un tour avant pour voir si ce cas existait déjà, mais pour un problème abordé maintes fois, je n'avais pas trouvé beaucoup de solutions.

J'ai trouvé des posts où les personnes ont finalement trouvé la soluce tous seuls sans la donner sur le forum, ou bien ils ont changé d'hébergeur, ce qui n'est pas vraiment une solution non plus. Donc c'est vrai que vu la pertinence de ces posts j'ai vite abdiqué.

J'ai donc refait une recherche comme tu le conseillais et j'ai fini par trouver ce post là où tu donnes une solution qui est de mettre "//" devant la ligne en question, ce qui a simplement pour but de la mettre en commentaire, en effet. Désolé de ne pas avoir vu 'tous' les posts qui parlent de ce sujet, personne n'est parfait ^^

Cette ligne n'est-elle vraiment pas importante au point de la 'bypasser' ? Peux-tu m'éclaircir stp ? Je souhaiterais comprendre le pourquoi du comment. Merci.

Advertisement: