Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 19/06/2008, à 17:42

ploc

[résolu] php5, sqlite3 et pdo

Bonjour,

Visiblement, l'utilisation de sqlite3 (et non sqlite tout court qui semble correspondre à sqlite2) avec php5 nécessite PDO.

Je trouve un peu étrange cette dépendance mais pourquoi pas. Soit.

Sur mon serveur Hardy (version JeOS), j'ai donc tenté d'installer sqlite3 avec php5, via l'installation du paquet php5 puis de php-sqlite3 (les dépendances d'apt se chargent normalement d'installer tout le nécessaire).

Au final, je me retrouve avec un php5 qui fonctionne, avec des librairies sqlite3 installées (vu dans le phpinfo) mais aucun PDO (Php Data Object) disponible :

PDO
PDO support	enabled
PDO drivers 	no value

Impossible en conséquence d'utiliser sqlite3 dans un script php car j'obtiens le message d'erreur suivant :

could not find driver

C'est on ne peut plus concis et on ne peut plus clair...

Si quelqu'un a déjà réussi à faire fonctionner le bouzin (si possible en utilisant apt, et sans compiler des tas de trucs dans tous les coins), je suis très intéressé.

En outre, je suis un peu surpris de voir que l'installation de php5 + sqlite3 + pdo n'est pas super simple alors que - d'une certaine manière - c'est un peu le futur du web léger...

Merci de vos avis !

Dernière modification par ploc (Le 20/06/2008, à 14:15)

Hors ligne

#2 Le 19/06/2008, à 23:06

jpcrevoisier

Re : [résolu] php5, sqlite3 et pdo

Bonsoir ploc,

En fait j'ai eu effectivement la même désaventure sous hardy mais un simple ajout de :

extension=sqlite.so
extension=pdo.so
extension=pdo_sqlite.so

dans mon php.ini et le tour était joué.
/!\ /etc/php5/apache2/php.ini pour le serveur et /etc/php5/client/php.ini pour le client (console)

Bonne soirée ploc.

#3 Le 20/06/2008, à 10:25

Guybrush02

Re : [résolu] php5, sqlite3 et pdo

En parlant de SQLite, c'est moi où les informations dans les dépots concernant la librairie Python sont tout sauf claires ? python-pysqlite correspond à sqlite2 alors que python-pysqlite2 correspond à sqlite3... Suis-je le seul à trouver cela curieux ? roll

Hors ligne

#4 Le 20/06/2008, à 13:12

ploc

Re : [résolu] php5, sqlite3 et pdo

Merci jpcrevoisier de ta réponse. J'ai essayé de suivre tes conseils mais ça n'a rien donné.

Explications :

En consultant le phpinfo, je constate qu'il y a d'autres fichiers ini qui sont pris en compte :

additional .ini files parsed 	/etc/php5/apache2/conf.d/pdo.ini, /etc/php5/apache2/conf.d/sqlite3.ini

En consultant ces 2 fichiers, je constate que les bibliothèques pdo.so et sqlite3.so sont déjà chargées par ces fichiers :

pdo.ini.ori
::::::::::::::
# configuration for php PDO module
extension=pdo.so
::::::::::::::
sqlite3.ini
::::::::::::::
extension=sqlite3.so

Je me dis donc qu'il est inutile de les rajouter dans le php.ini de apache, d'autant plus que le phpinfo m'indique déjà que sqlite3 est bien chargé :

SQLITE3
SQLite3 support 	enabled
sqlite3 library version 	3.4.2

Je cherche donc uniquement à ajouter la dernière bibliothèque pdo_sqlite.so mais j'ai beau chercher sur mon serveur, aucune trace de cette bibliothèque. Je continue donc mes recherches pour avoir un php + sqlite3 fonctionnels dans apache...

Note - c'est bien sqlite3 que je cherche à utiliser, et non sqlite2 (souvent dénommé sqlite tout court) car sqlite3 dispose de fonctionnalités importantes non disponible dans la version 2...

Je réitère ma position, au risque de me répéter, c'est étonnant qu'il soit si peu intuitif d'installer sqlite3 sur Hardy alors que le projet php a fait pas mal de publicité sur le fait que sqlite était intégré à php 5 (5.1 je crois). Sur Hardy, on en est déjà à php 5.2...

Petit apparté pour Guybrush02, tu ferais mieux de créer un nouveau fil car ton intervention concerne python, or le titre de ce fil ne mentionne que php et sqlite3 (et pdo). Ceci, si ce que tu indiques est vrai, c'est effectivement curieux... Sûrement une erreur de frappe ! Contactez les mainteneurs - Ubuntu Core Developers - pour leur notifier ! Ou alors un bug dans launchpad.

Hors ligne

#5 Le 20/06/2008, à 13:27

ploc

Re : [résolu] php5, sqlite3 et pdo

J'ai continué mes investigations :

pdo_sqlite.so est disponible dans le paquet php5-sqlite selon le site Ubuntu.

Ceci dit, je ne souhaite pas utiliser sqlite mais sqlite3, or la bibliothèque pdo_sqlite3.so n'existe pas, tout selon le site Ubuntu.

Grande question : suis-je obligé d'installer php5-sqlite pour utiliser php5-sqlite3 ? Je continue mes investigations...

Hors ligne

#6 Le 20/06/2008, à 14:13

ploc

Re : [résolu] php5, sqlite3 et pdo

Et bien oui, après avoir installer par apt le paquet php5-sqlite, sqlite semble mieux fonctionner, et phpinfo m'affiche maintenant :

PDO
PDO support	enabled
PDO drivers 	sqlite, sqlite2

Il manque cependant sqlite3 dans la liste, je vais vérifier si sqlite3 est véritablement activé ou non...

En tout cas, en appliquant ces paquets, nul besoin de modifier php.ini car toutes les instructions nécessaires (chargement des bibliothèques) sont présentes dans les fichiers ini complémentaires :

additional .ini files parsed 	/etc/php5/apache2/conf.d/pdo.ini, /etc/php5/apache2/conf.d/pdo_sqlite.ini, /etc/php5/apache2/conf.d/sqlite.ini, /etc/php5/apache2/conf.d/sqlite3.ini

Je confirme également que j'utilise bien le moteur de sqlite3 (et non celui de sqlite2, que je viens d'installer) en testant une instruction de renommage de table. En effet l'instruction suivante est uniquement supportée par sqlite3 (et pas par sqlite2) :

ALTER TABLE toto RENAME TO titi

J'en conclue, de manière tout à fait intuitive (donc à confirmer par qui sait) que sqlite2 est utilisé lorsqu'accédé directement par php, alors que sqlite3 est utilisé lorsqu'on passe par PDO.

Finalement, l'installation de php5 et de sqlite3 n'est pas vraiment compliquée, c'est juste pas clair...

Donc il suffit a priori d'installer les paquets suivants et tout devrait fonctionner sans problème :

sudo apt-get install php-sqlite3 php5-sqlite

Fin du quasi-monologue, je passe le fil de discussion à résolu...

Dernière modification par ploc (Le 20/06/2008, à 14:27)

Hors ligne

#7 Le 15/07/2009, à 21:06

francois008

Re : [résolu] php5, sqlite3 et pdo

Je confirme que ca fonctionne bien.

phpinfo avant:

PDO
PDO support    enabled
PDO drivers     mysql

Commande exécuté:

sudo apt-get install php5-sqlite
sudo /etc/init.d/apache2 restart

phpinfo après:

PDO
PDO support    enabled
PDO drivers     mysql, sqlite, sqlite2

Merci beaucoup !

Hors ligne

#8 Le 15/07/2009, à 21:45

HP

Re : [résolu] php5, sqlite3 et pdo

ploc a écrit :

Note - c'est bien sqlite3 que je cherche à utiliser, et non sqlite2 (souvent dénommé sqlite tout court) car sqlite3 dispose de fonctionnalités importantes non disponible dans la version 2...

Surtout aussi que les bases sqlite2 ne sont pas compatible avec la 3… voir aussi la documentation de PDO :
http://fr2.php.net/manual/fr/ref.pdo-sqlite.php
le driver sqlite2 n'est fourni qu'à titre de compatibilité, rien ne garanti, à mon sens, sa pérennité à terme.

Dernière modification par HP (Le 15/07/2009, à 21:47)


cat /dev/urandom >/dev/null 2>&1 #github

Hors ligne