Je viens de notifier P@t :-)
Merci.
Bonjour
Je reviens sur cette discussion et je viens de découvrir la source des difficultés d'upgrade rencontrées sur le site SFR.
Il s'agit bien d'un problème d'hébergeur. En effet le fichier prep21up.php utilise la fonction php_uname() qui est interdite par SFR pour des raisons de sécurité, ( voir la cf liste des fonction interdites par SFR.)
En fait la fonction php_uname() sert simplement à vérifier si le site hébergeur fonctionne sous système Windows et à adapter l'action du script en conséquence.
(Equipe Piwigo est-ce que je me trompe ?)
Pour contourner cette difficulté, il suffit de remplacer dans le script PHP prep21up.php la séquence dans laquelle est appelée la fonction php_uname() par une séquence équivalente utilisant la variable PHP_OS.
Dans le fichier prep21upd, la séquence est mise en oeuvre dans la fonction
function PclZipUtilTranslateWinPath($p_path, $p_remove_disk_letter=true)
Dans cette fonction : remplacer la séquence suivante
if (stristr(php_uname(), 'windows'))
par celle-ci :
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
Et tout rentre dans l'ordre.
Il faut donc demander à l'équipe Piwigo de rectifier le script concerné (*).
Pour en savoir plus sur la fonction php_uname() voir par exemple :
manuelphp
(*) Je peux envoyer le fichier modifié si besoin est==> me contacter (cf adresse courriel ci-contre).
Le fichier prep21upd.php est assez touffu, mais avec un éditeur tel que Notepad++, on trouve facilement les lignes concernées (chercher/remplacer..)
Bon courage
PS liste complète de la fonction à remplacer
function PclZipUtilTranslateWinPath($p_path, $p_remove_disk_letter=true) { if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { if (($p_remove_disk_letter) && (($v_position = strpos($p_path, ':')) != false)) { $p_path = substr($p_path, $v_position+1); } if ((strpos($p_path, '\\') > 0) || (substr($p_path, 0,1) == '\\')) { $p_path = strtr($p_path, '\\', '/'); } } return $p_path; }
Dans la phase de réimport sur le serveur local, j'ai le message d'erreur suivant
MySQL a répondu:
#1062 - Duplicata du champ '1-57' pour la clef 'PRIMARY'.
et seule une partie des tables est importée.
Explication ?
Admin > Configuration > ( Options | Générale ) > Onglet "Principale":
# Verrouiller la galerie
=> Seul le webmaster (ou admins) peuvent accéder encore à la galerie et un message les avertit de la situation en mode maintenance.
;-)
Bonjour sereng44
Merci pour ces explications.
Précision : que signifie 2 - verrouiller la galerie sur SFR ?
Ouf migration 2.0.9=> 2.1 terminée !!!
Pour contourner les restrictions de SFR j’ai suivi la procédure suivante :
1 – installer en local EasyPHP 5.3.2i
2 - verrouiller la galerie sur SFR
3 - exporter la base SFR et l’importer dans EasyPHP en local
4 - par FTP rapatrier toute l’arborescence piwigo de SFR vers EasyPHP local
5 – modifier en local le fichier include/mysql.inc.php pour qu’il pointe sur la base EasyPHP locale
6 - lancer l’Autoupgrade en local
A ce stade la migration est terminée sur la version locale. Maintenant il faut mettre à jour la version en ligne chez SFR. Avant de lancer la deuxième phase profiter qu’autoupgrade est disponible en local pour mettre à jour les plugins et les réactiver le cas échéant.
Attention avant de lancer les étapes suivantes s’assurer que tout fonctionne comme il faut en local (plugins, themes…) et que l’on a mis de côté une sauvegarde (fichiers +base)
7 - supprimer les tables piwigo de la base SFR
8 - supprimer tous les fichiers piwigo du site sfr sauf le répertoire galerie qui contient toutes les photos et qui n’a pas a priori évolué lors de la migration (volumineux)
9 - exporter la base EasyPHP et l’importer dans la base SFR
10 - par FTP rapatrier toute l’arborescence piwigo EASYPHP locale vers SFR
11 - modifier le fichier local/config/database.inc.php sur le serveur SFR pour qu’il pointe sur la base SFR
Et là normalement la migration est terminée. Pour moi tout fonctionne comme avant avec plein de fonctions en plus dans la partie administration... merci à vous
Et là bonne nuit…
Bonjour
Je tente la manoeuvre suivante :
1.<b> sauvegarde des 4 répertoires clés :</b>
- galleries
- upload
- plugins
- template-extension.
2. dump de la bd via phpmyadmin (éviter d'uliser le lien proposé par sfr dans l'interface de gestion des adresses, 9 fois sur 10 il y a erreur
uiliser un navigateur et atteindre la BD via http://sqladmin.sfr.fr
Pour cela aller dans la rubrique exporter sélectionner toutes les tables et lancer l'export de toutes les tables dans un répertoire de l'ordinateur
3. Vider le répertoircontenant la V2.09
4. Supprimer la BD et en récrer une nouvelle (même nom, même extension des tables)
4. télécharger l'archive de la version 2.10 sans la dézipper (sfr s'en chargera)
5.Installer la version 2.1 en utilisant l'installeur de sfr (nt2ftp :navigateur> http://ftpperso.sfr.fr >upload >sélectionner l'archive et lancer l'installation (bouton V vert à gauche)
5. réimporter la version précédente de la BD
6. réinstaller les 4 fichiers précédents
Pour l'instant j'ensuis à l'étape 1 (sauvegarde)
Je vais faire le test sur un site test.
Bonne nuit
N'hésite pas à ouvrir ton propre sujet sur le forum. En effet, ce sujet étant marqué comme [Résolu], on ne traitera pas d'autres problèmes pour bien séparer les questions et les réponses pertinentes.
;-)
En effet cela me semble une bonne idée.
En fait j’avais commencé à essayé de faire ce genre de manip chez un autre hébergeur, pour info MultiMania, mais je suis confronté à d’autres problèmes techniques que je ne maitrise pas et liés cette fois à MultiMania. Donc l’idée de tout faire en local et donc finalement de maitriser tout les paramètres me plait bien. Je vais voir si je peux récupérer EasyPHP ou Wamp.
Merci pour vos réponses
En le faisant sur un serveur local (EasyPHP, Wamp Serveur) et en transférant le résultat par FTP.
C'est mon idée. Attendez d'en avoir plusieurs, je ne suis pas un technicien ^^
Etant chez SFR l’Autoupgrade ne fonctionne pas. Je suis donc effectivement obligé de passer par la procédure manuelle.
Sauf erreur de ma part la procédure manuelle nécessite de lancer prep21up.php pour générer le fichier upgrade21.zip dans l’étape 3 ? non ? Et là re-problème avec SFR qui bloque php_uname() ... d'où ma question comment faire une migration manuelle sans utiliser prep21up.php ou sans utiliser php_uname() ?
Eric a écrit:
[Erratum] prep21up.php n'est pas *que* pour la RC :-/ [/Erratum]
Je suis tombé dans le même piège aussi Eric.
On prend vite goût aux automatismes ^^
Eric a écrit:
sereng44 a écrit:
Est-il possible de générer le répertoire local contenu dans upgrade21.zip, et nécessaire à la migration (2.0.9 => 2.1), autrement qu’avec prep21up.php ?
prep21up.php n'était là *que* pour tester la migration en RC3. Pour un vrai mise à jour d'une galerie 2.0.x vers 2.1, il y a le plugin AutoUpgrade ou la mise à jour manuelle.
je t'invite à lire le Guide de Mise à jour manuelle
l'étape 3 ;-)
sereng44 a écrit:
Est-il possible de générer le répertoire local contenu dans upgrade21.zip, et nécessaire à la migration (2.0.9 => 2.1), autrement qu’avec prep21up.php ?
prep21up.php n'était là *que* pour tester la migration en RC3. Pour un vrai mise à jour d'une galerie 2.0.x vers 2.1, il y a le plugin AutoUpgrade ou la mise à jour manuelle.
[Erratum] prep21up.php n'est pas *que* pour la RC :-/ [/Erratum]
Bonjour,
Cela fait maintenant un peu plus de 5 mois que j’utilise ce bel outil piwigo et j’espère bien pouvoir continuer en utilisant ses nouvelles versions.
Voila j’ai le même problème à savoir que mon site est hébergé chez SFR et que je suis donc obligé de faire ma migration manuellement. Malheureusement comme indiqué dans l’un des messages précédents, la fonction php_uname() étant interdit chez SFR l’exécution du script prep21up.php plante et m’empêche donc de générer le fichier upgrade21.zip.
Est-il possible de générer le répertoire local contenu dans upgrade21.zip, et nécessaire à la migration (2.0.9 => 2.1), autrement qu’avec prep21up.php ?
N’étant pas un pro du PHP, manuellement par exemple ?
D'avance merci pour votre aide.