[spip-dev] problèmes avec mysql_create_db()

Bonjour à tous,

j'essaye d'installer SPIP sur un portable pour faire des tests de connexion avec un annuaire LDAP (openldap), et l'installation de SPIP se bloque sur le message d'erreur suivant :

>>>
Installation du système de publication...
Quatrième étape : Création des tables de la base

Fatal error : Call to undefined function: mysql_create_db() in
/var/wwwdata/ecrire/install.php3 on line 159
<<<

je pensais initialement que cela était causé par une mauvaise compilation de PHP avec MSQL, mais :
-1 l'exécution de la ligne mysql_connect(), quelques lignes avant dans install.php3 avant ne provoque pas d'erreur
-2 j'ai crée un petit script PHP qui utilise la fonction mysql_query("CREATE DATABASE test01") et ce script fonctionne correctement

sur les pages de documentation en ligne de php.net il est indiqué d'autre part que la fonction mysql_connect_db() est obsolète et doit-être remplacée par mysql_query()

en outre, si pendant l'installation de SPIP, j'indique au programme d'installation une base qui existe déjà (par exemple test01), les tables sont correctement créées.

voici pour info les versions des logiciels que j'utilise :
- LINUX RedHat 8.0 (sans mise à jour)
- Apache 1.3.27 (installation à partir des sources recompilés)
- PHP 4.3.1 (installation à partir des sources recompilés)
- MySQL 4.0.12 (installation à partir des sources recompilés)
- SPIP v1.6b6

Ma question est donc la suivante (ouf) : est-ce qu'il faut "downgrader" PHP pour être compatible avec SPIP ou est-ce que l'utilisation de mysql_create_db() est absolument obligatoire ??? Ou peut-être est-ce mon installation qui n'est pas correcte... (j'aurais dans ce cas mieux fait de poster ce mail sur la liste utilsateur - désolé d'avance si c'est le cas)

Eric

PS : merci encore à tous les développeurs de SPIP pour cet outil formidable (malgré tout)

sur les pages de documentation en ligne de php.net il est indiqué
d'autre part que la fonction mysql_connect_db() est obsolète et
doit-être remplacée par mysql_query()

URL ? Je ne retrouve pas cette page.

Ma question est donc la suivante (ouf) : est-ce qu'il faut "downgrader"
PHP pour être compatible avec SPIP ou est-ce que l'utilisation de
mysql_create_db() est absolument obligatoire ??? Ou peut-être est-ce mon
installation qui n'est pas correcte... (j'aurais dans ce cas mieux fait
de poster ce mail sur la liste utilsateur - désolé d'avance si c'est le cas)

Je pense que tu peux créer ta base à la main, SPIP se chargera de la remplir
(ie de créer les tables) ?

-- Fil

Fil wrote:

sur les pages de documentation en ligne de php.net il est indiqué d'autre part que la fonction mysql_connect_db() est obsolète et doit-être remplacée par mysql_query()
   
URL ? Je ne retrouve pas cette page.

http://www.php.net/manual/en/function.mysql-create-db.php

Ma question est donc la suivante (ouf) : est-ce qu'il faut "downgrader" PHP pour être compatible avec SPIP ou est-ce que l'utilisation de mysql_create_db() est absolument obligatoire ??? Ou peut-être est-ce mon installation qui n'est pas correcte... (j'aurais dans ce cas mieux fait de poster ce mail sur la liste utilsateur - désolé d'avance si c'est le cas)
   
Je pense que tu peux créer ta base à la main, SPIP se chargera de la remplir
(ie de créer les tables) ?

oui, de cette façon ça marche... mais c'était encore plus rapide de modifier le code :slight_smile:

Eric

Salut,

sur les pages de documentation en ligne de php.net il est indiqué
d'autre part que la fonction mysql_connect_db() est obsolète et
doit-être remplacée par mysql_query()

C'est corrigé dans la version CVS.

Merci pour le rapport de bug,

Amicalement

Antoine.