J’ai un serveur en local chez moi qui héberge un site sous spip. Ayant fait la mise à jour de mon serveur Debian 11 vers Debian 13, la version de php a fait un saut en avant.
Le site en spip n’ayant pas été mis à jour par son proprio est complètement dysfonctionnel. Cela retournait beaucoup d’erreur dans les logs d’apache en disant que le php n’était pas valide en gros.
J’ai essayé d’utiliser le spip_loader.php, mais il essayait de charger/inclure des fichiers de l’installation de spip et cela me donnait également des erreurs php.
J’ai donc pris les fichiers de la version 4.4.9 et j’ai tous transférer sur le serveur via ssh. J’ai mis à jour le .htaccess du site avec la nouvelle version.
Depuis, si je vais sur l’url, spip_loader.php j’ai une popup (on va appelé ça comme ça), qui me dit:
Si je clique sur log in, j’arrive sur page blanche (comme toutes les pages du site).
Si j’affiche le code source de la page il n’y a que ça: <!-- Erreur -->
Je dois dire que mon niveau en spip est proche de 0. Vous auriez des pistes pour débugger ça ?
L’installation avez pas mal de plugins installés, et le nom de certains dossiers ont changé je pense. J’ai fait une backup de site avant de faire la moindre modif mais bon.
Il serait utile de connaître la version de SPIP installée. On peut la trouver dans ecrire/inc_version.php (rechercher spip_version_branche).
Le titre du message indique « passage de php4 vers php 8 » ? C’était vraiment php 4 ? ou php 7.4 (version par défaut de Debian 11 si j’ai bien lu) ?
J’ai effectivement des trucs dans mes logs (après avoir désactiver la ligne sur les logs dant le fichier inc_machin truc).
PHP Warning: Undefined global variable $profondeur_url in /home/webmaster/www/spip/ecrire/inc/urls.php on line 68
[Sat Feb 28 00:25:49.202266 2026] [php:warn] [pid 1135503:tid 1135503] [client 92.53.90.20:37916] PHP Warning: Undefined global variable $profondeur_url in /home/webmaster/www/spip/ecrire/inc/urls.php on line 68
[Sat Feb 28 00:26:24.922099 2026] [php:warn] [pid 1135505:tid 1135505] [client 43.152.72.231:56624] PHP Warning: Undefined global variable $profondeur_url in /home/webmaster/www/spip/ecrire/inc/urls.php on line 68, referer: http://webmaster.com/spip/spip.php/dist/IMG/IMG/doc/IMG/rtf/spip.php?rubrique142
[Sat Feb 28 00:27:04.356974 2026] [php:warn] [pid 1135502:tid 1135502] [client 216.244.66.203:56992] PHP Warning: Undefined global variable $profondeur_url in /home/webmaster/www/spip/ecrire/inc/urls.php on line 68
[Sat Feb 28 00:27:49.238219 2026] [php:error] [pid 1135499:tid 1135499] [client 190.60.45.139:38232] script '/var/www/html/search.php' not found or unable to stat
[Sat Feb 28 00:28:57.288102 2026] [php:error] [pid 1135500:tid 1135500] [client 80.15.125.140:35302] script '/var/www/webmaster/spip.php' not found or unable to stat
[Sat Feb 28 00:31:38.564446 2026] [php:error] [pid 1135500:tid 1135500] [client 80.15.125.140:51384] script '/var/www/webmaster/spip.php' not found or unable to stat
Je comprends pas trop d’ou vient les erreurs: /var/www/webmaster/spip.php’ not found or unable to stat car le site est sur /var/www/webmaster/spip/spip.php’ et il y a le $profondeur_url. Également.
SPIP 3.1était compatible max php 7.1 (voir Branches en fin de vie - SPIP) Il faudrait passer d’abord en version 3.2.19 (avec une version php max7.1) puis de là passer en php 8 et monter directement dans la dernière version 4.4.11.
Il est possible de réinstaller un spip neuf en 3.2.19 d’y brancher la base de données actuelle, remettre le dossier IMG.
Concernant le dossier squelettes s’il y a beaucoup de personnalisations il y aura sans doute des adaptations à faire. Mais déjà les données seront accessibles…
Je pense essayer de faire un install 4.4.9 complètement clean, sur une nouvelle base de donnée. Et de la, réintégrer des bouts du vieux site. Parce que j’ai un peu la flemme de jouer avec les versions de PHP.
En testant une install compléte, j’ai constaté que le dossier config devait avoir des permissions en écriture, ce n’était pas le cas. En fixant cela, le site est de nouveau disponible. Ça fonctionne, je suppose que certaine fonctionnalité d’administration ne doivent pas fonctionner, ni même probablement le login mais c’est une étape.