À titre de test, j'ai voulu installer SPIP 3.1 beta sur un hébergement Free. J'ai copié le contenu du zip dans un sous-répertoire et appelé l'URL .../ecrire
1. J'ai quelques warnings PHP, tous les mêmes :
Warning: htmlspecialchars() expects at most 3 parameters, 4 given in /mnt/104/sda/3/4/sitepourtesterspip/spip_3.1/ecrire/inc/filtres_mini.php on line 201
2. Le choix de BDD ne me propose que SQLite2 ou 3, mais ni MySQL ni PostgreSQL. Comme Free interdit SQLite, j'ai essayé sans rien cocher mais ça ne donne rien.
Ça va se soigner, docteur ? ou SPIP 3.1 sera carrément interdit aux sites Free (et sans SQLite en général) ?
2. Le choix de BDD ne me propose que SQLite2 ou 3, mais ni MySQL ni
PostgreSQL. Comme Free interdit SQLite, j'ai essayé sans rien cocher
mais ça ne donne rien.
Ça va se soigner, docteur ? ou SPIP 3.1 sera carrément interdit aux
sites Free (et sans SQLite en général) ?
Les Pages Perso offrent la possibilité d'utiliser une base de données relationnelle MySQL en plus de l'hébergement.
Pour activer une base MySQL :
Rendez-vous sur l'Espace Abonné du compte Pages Perso concerné
Cliquez sur le lien Activer votre base de données MySQL.
L'activation des bases de données est effective dans un délai de 24 à 48 heures.
Merci mais ce n'est pas le sujet. J'ai déjà une base MySQL activée.
C'est l'installateur de SPIP 3.1 qui ne me propose pas MySQL comme choix, uniquement les deux SQLite. Et ce après avoir affiché 2 warnings sur le nombre d'arguments de htmlspecialchars(). D'où mes soupçons de version PHP non compatible. C'est quoi le minimum pour 3.1 ?
N’est-ce pas une régression à terme d’abandonner cet aspect multi-bases (moteurs de SGBD variables et alternatifs), qui est/etait une plus forte originalité de SPIP ? Certes la plupart des core-dev sont essentiellement MySQL up-to-date, ce qui apporte une véritable expertise technique qui distingue aussi SPIP, mais néglige PostGreSQL qui se généralise (au moins,dans certains contextes) Et l’architecture en /base/ + /ecrire/req/, voire la possibilité d’y rajouter un PDO ou un Oracle…) ouvre la porte à l’utilisation unique de SPIP comme portail Intranet d’entreprise en logiciel libre intégrant l’accès à tous les progiciels plus ou moins intégrés dans un S.I. (cf. les réflexions récentes d’un Gilles V par exemple…) A minima, quels seraient les problèmes à conserver /req/mysql.php et /req/mysqli.php ?
N'est-ce pas une régression à terme d'abandonner cet aspect multi-bases
(moteurs de SGBD variables et alternatifs), qui est/etait une plus forte
originalité de SPIP ?
Point d'abandon ici, SPIP fonctionne toujours sous MySQL/MariaDB ou SQLite.
Certes la plupart des core-dev sont essentiellement MySQL up-to-date,
ce qui apporte une véritable expertise technique qui distingue aussi SPIP,
mais néglige PostGreSQL qui se généralise (au moins,dans certains
contextes)
Le support de PostGreSQL a toujours été expérimental, et c'est bien pour ça qu'on ne le propose plus à l'installation de la version 3.1, car celui-ci est loin d'être utilisable en production d'après les retours.
A minima, quels seraient les problèmes à conserver /req/mysql.php et
/req/mysqli.php ?
Le sujet a déjà été abordé sur redmine et les listes, ex :
Les numéros de version
Exécuteurs PHP : 5.1.3rc4 ou 4.4.3 « à la sauce Free » (phpinfo pour PHP 5 et PHP 4)
Serveurs MySQL : 5.0.83 / Moteur MyISAM / mysql (pas de mysqli ou PDO pour le moment)
Serveurs PostgreSQL : 9.1.2
Serveurs Apache : 2.2.x « à la sauce Free »
SPIP (désactiver historique et statistiques, attention au cache, ne pas utiliser SQLite)
Warning: mysqli_query() expects parameter 1 to be mysqli, null given in
/var/www/sda/b/c/cvalancogne/ecrire/req/mysql.php on line 229
Comme le disait Gilles, mysqli ne semble pas disponible chez Free, hors
SPIP 3.1 nécessite celui-ci, d'où l'erreur affichée.
Comme Free ne supporte ni mysqli ni sqlite, donc il n'est plus possible d'y installer SPIP 3.1.
Du coup on fait quoi ?
On décide que feu Free&SPIP ?
Ou on rétablit mysql comme connecteur MySQL ?
Ou on met un switch pour se rabatre sur mysql quand mysqli n'est pas disponible ? (du genre un connecteur mysql smart qui essaye mysqli et sinon mysql ?)