Connaitre votre version de PHP
Créer tout simplement [1] un fichier texte info.php
contenant
- <?php
- /* Cette fonction standard de php affiche les infos de version.. */
- /* pas d'espace après le code de fermeture: ?> */
- /* ou omettre carrément le code de fermeture ci-dessous */
- ?>
Vous déposerez ce fichier par FTP sur votre site, par exemple sous le nom info.php
et exécutez-le par l’URL https://votre-site.tld/../info.php.
Voila ce que vous verrez apparaitre... il peut y en avoir long [2] ; pour rappel, SPIP vous offrirait la meme information si vous passiez la commande URL ./ecrire/?exec=info
!
- exec infos
PHP 7 c’est blanc
En 2020, nos hébergeurs généralisent les versions PHP 7.x (jusqu’à 8.5 a ce jour de Mai !
Problème, seul le Spip 3.2 tolér(e)ait un PHP 7.1 max, bientôt jusqu’à 7.4...
Sinon c’est la page blanche dans le meilleur des cas : le pire...
Vérifiez la version utilisée de votre PHP comme ci-dessous.
Version PHP : à 5 c’est mieux !
Voici le nouveau message à la mode : classique d’un Php trop ancien !
A l’installation de Spip 3.0.x après spip_loader [3] (chez OVH, Free ou chez d’autres), il y a une erreur :
Parse error : syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or ’’ in /homez.409/alentour/www01/ecrire/public/interfaces.php on line 51
Juste un petit détail : à l’installation (ou plutôt, avant !).....
vérifiez désormais que vous utilisez bien Php 5 [4] : comment faire [5] pour vérifier les paramétrages Php ?
Certains changements impromptus de nos hébergeurs peuvent avoir des conséquences subites sur un site sans histoire : soyez prévoyants et à jour !
autres pannes indiquées : certains ont vu disparaître leur interface privée, ou seulement leur styles de personnalisation, jusqu’à ne plus afficher d’articles....
Autres erreurs signalées :
Internal Server Error 500
Et la réponse est bien souvent la même que plus haut : passer en PHP 5
Comment faire ;selon les hébergeurs :
- ovh : spécifier dans la ConfigPhp la version [6] de Php5ChezOvh dans le fichier
.htaccess
:# OVH : choix version PHP
SetEnv PHP_VER 5
(plus de détails en Quelques solutions réglées avec OVH ou SPIP et OVH mutualisé et https://www.pyrat.net/Optimisation-....)
Une nouvelle solution chez OVH en 2014 pour Configurer php. - pour Free :la page de référence
PHP5 chez Freea disparu... - Pour avoir du php5 chez Free.fr, il faut mettre dans un fichier
.htaccess
cette ligne :php 1
[7], voir aussi sur Contrib...
- chez 1and1, la solution est d’activer .htaccess et mettre la ligne :
addtype x-mapp-php5 .php - chez ouvaton, il faut que le .htaccess commence par :
AddHandler application/x-suexec-php5 .php
Autre récrimination de SPIP 3.0.1 [19436] dans l’espace privé :
"Problème de sécurité : register_globals=on ; dans php.ini à corriger."
Possible aussi que cela soit un indice d’erreur : l’activation du php resterait en php 4 et non en 5 ! ( register_globals est obsolète en 5).
Toujours pour notre exemple OVH, vous pouvez ajouter dans le fichier .htaccess
:
# OVH : régulariser les globals
SetEnv REGISTER_GLOBALS 0
Attention, il pourrait arriver (selon certains forums) que votre fichier soit mal encodé :
vérifier le nombre de caractères transmis, qu’il n’y a pas de CR-LF en trop....
Enfin, encore un point parfois oublié : si vous avez installé SPIP dans un sous-dossier du DocumentRoot
de votre hébergement, il faudra peut-être ajouter/corriger l’instruction RewriteBase
dans votre fichier .htaccess :
# pour SPIP dans un sous-dossier
### Configuration sous-repertoire (ligne 25)
# Chez la plupart des hebergeurs il faut indiquer "RewriteBase /"
# sinon modifiez cette ligne
RewriteBase /spip/
Nota Bene : C’est aussi dans ce fichier .htaccess
que vous pourrez rajouter la protection d’accès par code/mot de passe, en faisant référence à un fichier .htpasswd
expliqué sur Contrib, mais attention à....
Mettre SPIP à Jour !
A l’inverse, si votre site (avec un ancien SPIP [8]) se met a vous afficher des messages "Deprecated".... c’est peut-être que votre hébergeur est passé en PHP5 sans vous prévenir : voyez à migrer en une version de SPIP à-jour, Mettre SPIP à jour : comment ? ne serait-ce que pour des raisons de sécurité !
Car SPIP et PHP évoluent tous deux, et les développeurs s’attacheront à utiliser les versions actualisées des outils Web.
Version de PHP trop récente 5.5 !
Inversement, un SPIP trop ancien ne sera plus compatible avec les dernières versions de PHP [9] : de nombreux changements de définitions de fonctions opérés dans les versions PHP 5.4 et 5.5 pourront provoquer des erreurs répétitives, allant jusqu’à empêcher toute installation de SPIP antérieure à .. 2.1.24.
Que faire dans le cas où votre hébergeur vous a "oublié" : faire une extraction/extraction locale de votre base de données au format SQL
Page blanche
On l’a tous oublié une fois au moins : SPIP a besoin d’utiliser une bibliothèque graphique (au mieux GD2) pour traiter les images et logosImages et Multimédias ; sinon, c’est la page blanche...
- soit le webmestre n’a pas configuré les Fonctions avancées,
- soit le serveur Web ne comporte pas cette fonctionnalité : à tester par
>?php phpinfo();
ou./ecrire/?exec=infos
!
Autre cas, après l’adjonction de nouveaux documents (des grosses images ?), un auteur se trouve confronté à la page blanche en interface privée, et donc impossible de modifier les articles concernés !
Spip calcule la taille maxi des images pour les traitements GD2, mais le serveur (ici Free) interrompt le calcul. Du coup en chargeant des images trop grosses [10], le système boucle en voulant calculer les vignettes.
La solution suggérée par un les "devs" de la "Team" : supprimer ces images de la base MySQL et en forçant à la main une taille maxi, définie dans mes_options.php
:define('_IMG_GD_MAX_PIXELS', 2000000);
Dernier conseil que j’ai expérimenté et qui est intéressant.
Lorsqu’un site ne marche pas comme on le voudrait, ou qu’il a un comportement étrange...
Essayer de le lire sur un Ipad.
C’est souvent édifiant... et on a souvent plus (+) que sur un "bête écran" de PC
[11]
Bug temporaire, si vous allez trop vite sur les MàJ, un bug des versions PHP 5.5.3 et 5.5.4 induit un bug des #SET de SPIP : monter en php 5.5.5 ou appliquer le patch prévu en SPIP 3.0.12..
Accès interdit
Quelques suggestions évidentes, (pardon) évidement oubliées !
avez-vous une sauvegarde (SQL ou dump SPIP) ? sinon, utilisez phpMyAdmin ou autre...
votre mot de passe a changé (cf. ci-dessus),
votre disque est plein (oui, votre hébergement se fait sur disque ! ) auriez-vous dépassé votre quota alloué ? bien possible si vos sauvegardes s’empilent, ou si les fichiers en cache se multiplient... Vérifiez dans votre accès spécifique à l’interface de votre hébergeur ; il faudra commencer avec FTP...
- pouvez-vous effacer le cache serveur (
./tmp/cache
? - effacez de trop nombreuses anciennes sauvegardes restées sur le serveur...
- videz (toujours par FTP) le répertoire
./tmp/sessions/
: toutes les personnes connectées devront se reconnecter [12]...
Vous appliquerez le meme remède (disque plein !) lors d’un symptome "surprenant", du genre, votre site spip [13] qui annonce subitement :
Le système a rencontré une erreur lors de l’écriture du fichier../tmp/sessions/1_96ab33fef915f2c7fc630bc992898865.php. Veuillez, en tant qu’administrateur du site, vérifier les droits d’écriture sur le répertoire tmp/sessions.
C’est typiquement un problème de Quota ou d’espace disque (en particulier chez OVH), voire de saturation temporaire du répertoire
En effet, spip voyant qu’il ne peut plus créer de fichiers fait remonter une erreur parlant de droits d’écriture mais ne vérifie pas forcément la cause exacte du problème.
Si l’erreur se répète, videz le cache ; mais ensuite, il y a peut-etre de vieux fichiers en trop sur votre serveur (en particulier des fichiers-documents joints dans ./IMG/
: installez le plugin Mediathèque, intégré en SPIP 3 !)
Quand on a des problèmes
Pour faire face à la plupart des problèmes courants -si vous n’avez pas modifié le système- il faut souvent jouer du FTP,... pour :
- purger le cache [14] :
rm -rf ./tmp/cache/*
- suspendre tous les plugins : en renommant le répertoire "./plugins"
- vérifier que vos squelettes ne sont pas en cause : en renommant le répertoire "./squelettes" [15]
- faire vérifier à SPIP sa base de données : opération proposée dans le menu "maintenance du Site" [16].
- vérifier la version de PHP [17] : créer un petit fichier texte contenant juste
<?php phpinfo(); ?>
- vérifier la base de données (SPIP propose un outil intégré de réparation, encore qu’il faille être connecté en Admin/Webmestre pour l’activer..)
- controler le fonctionnement avec le
.htaccess
d’origine de SPIP : attention, il faut parfois y rajouter des lignes spécifiques pour certains hébergeurs [18]. - relancer la copie des fichiers, suite à une erreur de transfert passée inaperçue...
Au pire, il est toujours facile à ce moment-là de relancer l’installation automatique, sans perdre le contenu de la base de données active : noter le contenu du fichier /config/connect.php
, puis effacer, et vous pourrez recréer un accès administrateur (et donc revalider les divers codes de connexion des auteurs).
Toutefois, certaines remontées de bugs de droits sur certains hébergeurs préconisent le FTP plutot que le spip_loader.
Enfin, s’il s’agit vraiment d’un bug....
Juste un petit mot, avant de vous laisser poursuivre votre recherche,
(et on espère bien, résoudre votre souci) : cette page [19], comme d’autres du site et sur SPIP, s’enrichit des retours d’expériences !
Alors, pensez a signaler sur la liste autant vos réussites que vos essais,
on complétera par ici, merci !
Article publié le 1er mars 2012, et actualisé en mars 2021 .
Répondre à cet article