Accueil > Informatique > SPIP 3.1 et Free
SPIP 3.1 et Free
mardi 23 février 2016
Je viens d’effectuer la migration de mon site chez Free sous SPIP 3.1, non sans quelques difficultés...
PHP 5.6
Habituellement, comme la méthode de migration avec spip_loader.php ne fonctionne pas chez Free, je fais les migrations manuellement en téléchargeant les fichiers de la nouvelle version de SPIP par FTP. C’est donc ce que j’ai fait. Malheureusement, cette fois-ci, après téléchargement, le site ne voulait plus fonctionner... Un message m’indiquait qu’un problème technique empêchait d’accéder à la base de données.
Après quelques recherches sur Internet, je me suis aperçu que PHP 5.6 était désormais disponible sur les hébergements perso Free. Très bonne nouvelle !
La nouvelle version 3.1 de SPIP utilise désormais les fonctions mysqli de PHP, et je soupçonne que ce soit en rapport avec le dysfonctionnement constaté (ancienne version de PHP non compatible ???).
Bref, ni une, ni deux, j’ai tout de suite fait la mise à jour de mon fichier .htaccess pour forcer l’utilisation de PHP 5.6 sur mon site. Il suffit pour cela de mettre dans le fichier .htaccess la directive suivante :
php56 1
Et, oh miracle, mon site s’est remis à fonctionner normalement ! J’ai donc pu terminer la migration sous SPIP 3.1.0 et installer mes plugins compatibles avec SPIP 3.1.
Sessions avec PHP
Autre point, en testant la page contact du site, j’ai obtenu des "warnings" concernant les sessions. Là encore, après quelques recherches, je suis tombé sur cette page d’assistance de Free qui indique que pour gérer les sessions avec PHP, il est nécessaire de créer un répertoire sessions à la racine du site.
Une fois le répertoire créé, plus de warnings, super !
Messages
1. SPIP 3.1 et Free, 2 mars 2016, 09:47, par Le Naour
Bonjour, Actuellement en phase de conception d’un site web en mode local, je souhaite mettre en ligne le site pour que les personnes de notre association puissent y accéder pour tester les fonctionnalités. Malheureusement, tout comme vous j’installe SPIP V3.1 sur mes pages perso free et lors de l’étape 2 (choix de votre base, après connexion à la base sql), j’ai l’erreur suivante malgré la création du répertoire sessions directement sur la racine :
Warning : mysqli_query() expects parameter 1 to be mysqli, null given in /var/www/sda/1/6/monsiteperso//ecrire/req/mysql.php on line 244 etc...
Cordialement
Jean-Yves
1. SPIP 3.1 et Free, 8 mars 2016, 11:28, par Jean-Yves Giraud
Bonjour,
Est-ce que vous avez mis en place un fichier .htaccess avec la directive que j’indique, pour forcer l’utilisation de PHP 5.6 ? C’est très important pour mysqli.
Pour ma part, j’ai effectué une migration, donc j’ai mis en place cette directive après coup. Mais pour vous, dans le cas d’une installation, je pense qu’il faudrait mettre en place le fichier .htaccess avec la directive avant de commencer l’installation.
A titre d’exemple, voici ce que j’ai dans mon fichier .htaccess :
# Pour interdire de lister les répertoires
Options All -Indexes
# Pour forcer l'utilisation de PHP 5.6
php56 1
# Pour que SPIP prenne en compte les pages 404
ErrorDocument 404 /spip.php?page=404
Bonne journée
Jean-Yves
2. SPIP 3.1 et Free, 9 mars 2016, 22:35, par Le Naour
Bonjour,
Merci pour la réponse, mais ça n’a pas résolu le problème.
J’ai tout supprimé puis copié l’ensemble de SPIP 3.1 à la racine de l’arborescence de ma page perso Free. Création du répertoire sessions et du fichier .htaccess comme indiqué. Lorsque je lance l’étape choix de votre base de donnée (choix par défaut) j’ai toujours les mêmes erreurs (Warning : mysqli_query() expects parameter 1 to be mysqli, null given in /var/www/sda/1/6/jeanyves.lenaour/ecrire/req/mysql.php on line 244, etc.....). Avec message
Installation du système de publication...
Étape 1 : Connexion à votre base de données
Étape 2 : Choix de votre base
Étape 3 : Informations personnelles
Étape 4 : C’est terminé !
L’opération a échoué.
Retournez à la page précédente, sélectionnez une autre base ou créez-en une nouvelle. Vérifiez les informations fournies par votre hébergeur.
Cordialement,
Jean-Yves
3. SPIP 3.1 et Free, 12 mars 2016, 14:34, par Jean-Yves Giraud
Désolé, mais là, je ne vois pas. Et comme je ne peux pas tester de mon côté en faisant une installation neuve (pour mon site, c’était une migration), je ne peux pas vous en dire plus.
Je viens de faire ma migration en SPIP 3.1.1, la toute nouvelle version, et je n’ai pas eu de problème. Peut-être pourriez-vous l’essayer si ce n’est déjà fait, on ne sait jamais...
Je vous laisse continuer vos recherches et vos tests.
Jean-Yves
4. SPIP 3.1 et Free, 28 mars 2016, 20:42, par Vincent
J’avais le même problème. Je l’ai résolu en recopiant les fichiers
spip/config/chmod.php et
spip/config/connect.php de mon ancienne installation.
Contenu du fichier chmod.php :
<?php
if (!defined("_ECRIRE_INC_VERSION")) return;
if (!defined('_SPIP_CHMOD')) define('_SPIP_CHMOD', 0777);
?>
Contenu du fichier connect.php :
<?php
if (!defined("_ECRIRE_INC_VERSION")) return;
define('_MYSQL_SET_SQL_MODE',true);
$GLOBALS['spip_connect_version'] = 0.7;
spip_connect_db('localhost','','mon login Free','mon mot de passe','mon login Free','mysql', 'spip','');
?>
Créez ces deux fichiers (en remplaçant "mon login Free" et "mon mot de passe" par ce qu’il faut), et envoyez-les par ftp dans le dossier spip/config . Ça résoudra peut-être votre problème.
V.
5. SPIP 3.1 et Free, 4 mai 2016, 17:13, par Jean-Yves Giraud
Pour ma part, c’était dans le cas d’une migration SPIP 3.0 -> SPIP 3.1. Donc les deux fichiers chmod.php et connect.php étaient restés tels quels, je n’y avais pas touché.
Mais pour en avoir le coeur net, je viens de tester en mettant les syntaxes "standard", celles qu’on obtient en installant un SPIP 3.1 neuf, bien sûr en adaptant avec mes identifiants, et ça fonctionne aussi. Voici les contenus des fichiers :
chmod.php :
<?php
if (!defined("_ECRIRE_INC_VERSION")) return;
if (!defined('_SPIP_CHMOD')) define('_SPIP_CHMOD', 0777);
?>
connect.php
<?php
if (!defined("_ECRIRE_INC_VERSION")) return;
defined('_MYSQL_SET_SQL_MODE') || define('_MYSQL_SET_SQL_MODE',true);
$GLOBALS['spip_connect_version'] = 0.8;
spip_connect_db('localhost','','mon login Free','mon mot de passe','ma base de données Free','mysql', 'spip','utf8');
?>
Normalement, le login Free et la base de données Free sont identiques. Remplacez avec les identifiants propres à votre site (login, mot de passe et base de données).
Mais là, ce n’est pas un test d’installation neuve, je voulais juste vérifier si les nouvelles syntaxes SPIP 3.1 fonctionnaient aussi, et c’est bien le cas. Si ça peut aider...
2. SPIP 3.1 et Free, 13 mars 2016, 10:06, par Le Naour
Bonjour,
J’ai essayé la version 3.1.1, mêmes erreurs. Je vais tester avec les versions antérieures.
Cordialement,
Jean-Yves
3. SPIP 3.1 et Free, 14 mars 2016, 20:09, par Le Naour
Bonjour,
En installant la V3.0, je n’ai aucun problème.
Cordialement,
Jean-Yves
4. SPIP 3.1 et Free, 16 mars 2016, 18:03, par powell
J’ai exactement le même problème que Naour et je m’y connait bien sur spip. Mais là je bloque depuis quelques jours.
5. SPIP 3.1 et Free, 20 mars 2016, 19:07, par Le Naour
Bonjour, En installant la version SPIP V3.0.22 puis mise à jour V3.1.1 tout fonctionne normalement. Impossible d’utiliser directement la version V3.1.1.
Cordialement,
Jean-Yves
6. SPIP 3.1 et Free, 3 avril 2016, 18:13, par BERTHOMIER
Bonjour,
merci pour le .htaccess qui n’a pas suffit par contre. J’ai en effet eu le même souci des warning ...
Le problème venait que mon site est eric.berthomier.free.fr et la base de données se nomme maintenant eric_berthomier.free.fr
Solution trouvée : faire la migration local, tout balancer et créer le fichier connect.php en conséquence.
Ouf, je me sentais un peu isolé sans mon site aide mémoire.
Encore MERCI
7. SPIP 3.1 et Free, 15 avril 2016, 12:04, par jean-François Hl
Aprés mise a jour spip 3.0 -> 3.1 chez free problème
"Site en travaux Attention : un problème technique (serveur SQL) empêche l’accès à cette partie du site. Merci de votre compréhension."
Le truc Php56 1 dans le .htaccess a résolu le problème
Merci beaucoup
JF
8. SPIP 3.1 et Free, 6 janvier 2017, 23:30, par Alberto
salut,
je croyais avoir réussi -je ne sais pas trop comment, en faisant un peu ce qui est dit ici- a installer et faire marcher un site en 3.1.1. Hélas, impossible de créer des nouveaux articles, un bandeau erreur apparaît lorsqu’on fait enregistrer... et rien d’autre.
Bizarre, on peu quand même modifier les articles existants.
Cordialement, Alberto
1. SPIP 3.1 et Free, 20 mars 2017, 19:15, par Jean-Yves Giraud
Bonjour,
Désolé pour le délai...
Vous m’avez mis le doute concernant la création d’article. Du coup, je viens d’essayer et pas de soucis (version actuelle 3.1.3 que je vais passer en 3.1.4 très rapidement).
J’espère que vous avez résolu votre problème depuis votre message. Bonne continuation.
Jean-Yves
9. SPIP 3.1 et Free, 20 juin 2018, 11:49, par Thierry
Bonjour,
les manipulations décrites ci-dessus (.htaccess, chmod.php et connect.php) marchent aussi pour une migration vers spip 3.2. Merci !
Thierry