Sauvetage d'un Spip 3.0.20

Bonjour,

J’espère poster cette demande au bon endroit :slight_smile:

un ami vient de me demander de réparer son site sous SPIP 3.0.20 avec le squelette SARKA-SPIP Reloaded (Sarka-SPIP 4.5.1) hébergé chez OVH.

Il fonctionnait très bien jusqu’à il y a quelques jours.

Après quelques investigations OVH affichait que la version PHP était en 4.4, alors que normalement le site avait été mise en ligne en 5.4 (c’est très étrange).

En outre OVH a modifié le nom de la base de données (au format .mysql.db ), mais après avoir vérifié le fichier /ecrire/inc_connect.php, le nouveau nommage de la base de données y est bien correctement indiqué (ce qui est bien abscons pour moi également, OVH aurait une procédure automatique pour modifier ce fichier de configuration ?).

Pour tenter d’y voir plus clair, j’ai ajouté dans le fichier « mes_options.php » de quoi visualiser les erreur PHP et j’obtiens (suivant les pages appelées) des :
Notice: Undefined offset: 3 in …/ecrire/inc/urls.php on line 176
Notice: Trying to get property of non-object in …/ecrire/public/criteres.php on line 851
Notice: Undefined index: page in …/ecrire/public/styliser_par_z.php on line 91
Notice: Undefined index: type-page in …/ecrire/public/styliser_par_z.php on line 92
Fatal error: Call to undefined function typo_couleur() in …/plugins/auto/sarkaspipr/v4.5.1/sarkaspipr_pipelines.php on line 15
etc…

Avez-vous une idée pour m’aider à remettre ce site en état ?
Y a t-il d’autres fichiers de configuration où indiquer ce nouveau nom de la base de données (et mot de passe) ?

D’avance un grand merci !
Oly

Bonsoir

Le 05/03/2022 à 00:49, Oly via Discuter de SPIP a écrit :

Y a t-il d’autres fichiers de configuration où indiquer ce nouveau nom
de la base de données (et mot de passe) ?

As-tu regardé dans config/connect.php ?

CM

Bonjour Christian,

Merci pour ton message.

Je n’ai aucun fichier …/config/connect.php

Dans …/config j’ai uniquement :

  • un .htaccess (avec 1 seuledirective « deny from all »)
    -. ok (vide)
  • ecran_securite.php
  • remove.txt (me disant « Vous pouvez effacer ce fichier sans dommage »).

Pour info, ce site a été migré en 2015 sur SPIP 3.0.20 + le squelette SARKA-SPIP Reloaded.
Certains fichiers étaient historiquement placés à d’autres endroits si j’ai bien compris l’évolution de Spip.

L’URL du site est : http://legalitedabord.fr si cela peut servir à m’aider dans son sauvetage.

Oly

Bonjour Oly,

Ce n’est pas normal que tu n’aies pas de connect.php sous config/, c’est
ce qui permet au site d’accéder à la base de données pour démarrer.
Peut-être est-il masqué car il contient en clair les données d’accès (id
et MDP). Vu que le site fonctionne (même mal), ce fichier doit bien être
présent.

Est-ce que tu arrives à t’identifier?

Christian

Le 05/03/2022 à 11:31, Oly via Discuter de SPIP a écrit :

Je n’ai aucun fichier …/config/connect.php

Dans …/config j’ai uniquement :

  • un .htaccess (avec 1 seuledirective « deny from all »)
    -. ok (vide)
  • ecran_securite.php
  • remove.txt (me disant « Vous pouvez effacer ce fichier sans dommage »).

Pour info, ce site a été migré en 2015 sur SPIP 3.0.20 + le squelette
SARKA-SPIP Reloaded.
Certains fichiers étaient historiquement placés à d’autres endroits si
j’ai bien compris l’évolution de Spip.

Chez ovh, il faut regarder aussi du côté de .ovhconfig : Configurer le fichier .ovhconfig de son hébergement web | Documentation OVH
Il est prioritaire sur la config du pannel.

Bonjour Christian,

1/ Non je n’ai aucun fichier /config/connect.php, j’utilise Filezilla (sous Ubuntu) et vois très bien le fichier .htaccess dans ce répertoire donc il n’y a pas de « fichier caché ».
En revanche dans /ecrire j’ai bien un fichier « inc_connect.php ».

J’ai accès au sauvegarde du site de 2015 et en local (lors de test) c’est bien avec ce fichier ecrire/inc_connect.php que le site pouvait se connecter à la base de données, car j’en ai une copie (identifiée _DEV) avec les instructions :
$GLOBALS[‹ spip_connect_version ›] = 0.3;
spip_connect_db(‹ localhost ›,’’…);
Et une autre version (identifiée _PROD) avec le bon nom de la base de donnée et non « localhost ».

2/ J’arrive à m’identifier à l’admin, mais je ne peux accéder à rien, la plupart des menus de l’admin sont absents et une ribambelle de :
Notice: Undefined variable: langue_du_site in …/www/plugins-dist/sites/inc/syndic.php on line 204
Et aussi de :
Undefined index: page in …/www/ecrire/public/styliser_par_z.php on line 91

NB. Le site en 2013 tournait sous SPIP 1.9 et a été migré en 3.0.20 en 2015.

Existe-t-il une façon d’exporter la base de données pour retrouver les textes des brèves et des articles et pouvoir les importer dans un nouveau Spip tout neuf ?

A mois que l’on puisse réussir à restaurer ce site ?

Oly

Bonjour RealET,

Merci je viens de vérifier ce fichier, j’ai bien (entre autre) la ligne :
app.engine.version=5.4.

Car j’ai bien réactivé la version 5.4 de PHP sur OVH.

Oly

1 « J'aime »

Bonjour,

Le 05/03/2022 à 00:49, Oly via Discuter de SPIP a écrit :

Il fonctionnait très bien jusqu’à il y a quelques jours.

Après quelques investigations OVH affichait que la version PHP était en
4.4, alors que normalement le site avait été mise en ligne en 5.4 (c’est
très étrange).

Il y a quelques mois, j’ai eu aussi un site OVH planté qui affichait un
Php 4.4 au lieu de 5.6. C’est revenu tout seul le (sur-)lendemain.


Stéphane
17 Charente-Maritime

Bonjour Stéphane,

Merci pour ce retour (cela me prouve que je ne suis pas seul).

Mon ami a constaté fin décembre 2021 que sur OVH la version PHP indiquée était 4.4, mais il n’y a pas prêté attention, ce n’est que suite à son appel à l’aide il y a quelques jours qu’en auditant son site et son historique que je me suis rendu compte que normalement il devait tourner en 5.4.
Malheureusement même en le rebasculant en 5.4, le site est toujours bien planté '(

Oly

Bonjour,

Le fichier inc_connect.php est un reste de Spip 1.9. Donc peut-être migration vers 3.0 mal passée.

C’est le cas, OVH a lui-même modifié de très nombreux fichiers connect.php en mettant à jour le nom d’accès à la base de donnees.

Si tu as les bons accès à la base de données, ce que je proposerais, c’est de supprimer tous les dossiers de SPIP (sauf IMG, voire plugins), et de réinstaller un Spip 3.0 tout propre, avec les identifiants BdD que tu as, il créera le fichier config/connect.php.
Et avant ça tu peux passer directement en php 5.6.

Pour ma part, dans un premier temps, par ftp je chercherais à réactiver le squelette dist de Spip :

  • en changeant le dossier « squelettes » en « squelettesOLD »
  • en changeant le plugin Sarka en « SarkaOLD »
    Et voir ce que ça donne.

Merci Stéphane.

Au sujet du fichier inc_connect.php je suis surpris, car depuis 2015 le site tourne ainsi, mais je te crois sur parole et pour ce qui est de la modification de ce fichier par OVH, merci de m’avoir confirmé ce que je subodorais.

Supprimer tous les dossiers de SPIP et en réinstaller un tout propre m’effraie un peu, mais bon s’il faut en passer par là. As-tu des conseils pour ne pas louper cette nouvelle installation du coup ?

Merci encore,
Oly

Bonjour Helem,

La réactivation des dossiers « squelettes » et du « plugin sarka », se fera automatiquement seulement en rebaptisant ces dossiers (en…OLD) ? Ou faut-il faire d’autres chose par ftp ?

Désolé si mes questions paraissent candides.

Merci en tout cas,
Oly

Le renommage les rendra inopérants, et permettra au squelette par défaut de Spip de (tenter de) reprendre la main.
Tu peux aussi renommer la racine du dossier « Auto » dans Plugin, pour les désactiver tous.

OK merci Helem pour ces explications.

Bonne soirée,
Oly