PDO_MySQL sous Ubuntu, au bord de la crise nerfs...

Voila presque une semaine que je me bats avec PDO_MySQL pour arriver à enfin tester le composant PersistentObject d'eZ components... Après pas mal de recherches, beaucoup de prises de tête, je voyais la défenestration arrivée à grand pas ;-) en m'apercevant que finalement le problème venait du module PDO_MySQL fraîchement compilé sur ma Dapper Drake grâce au tuto trouvé sur BlogNote. Je pensais alors à un problème dû au hack pobomékimarche du tuto, mais le problème était identique sur ma Dedibox et sa Edgy Eft toute propre... J'ai aussi posté un message sur le forum Ubuntu-fr avec un succès comment dire... relatif, 17 affichages et aucune réponse au moment où j'écris ces lignes...

Les symptômes étaient simples, les deux bouts code suivants devraient affichés la même chose, mais celui avec le bindValue() échoue et ne renvoie rien :

<?php
$db = new PDO('mysql:host=localhost;dbname=sew', 'sew', 'sew');
// Code simple de référence
$stmt = $db->prepare('select * from `sew_sites` where `id`=1');
$stmt->execute();
$row = $stmt->fetchAll( PDO::FETCH_ASSOC );
var_dump($row);
$stmt->closeCursor();
// Ne renvoie rien si compilé avec libmysqlclient14 ou 15
$stmt = $db->prepare('select * from `sew_sites` where `id`=:id');
$stmt->bindValue(':id', 1);
$stmt->execute();
$row = $stmt->fetchAll( PDO::FETCH_ASSOC );
var_dump($row);
$stmt->closeCursor();
?>

 

En fait, visiblement, la compilation de ce module avec libmysqlclient14 ou libmysqlclient15 correspondant respectivement à MySQL 4.1 et MySQL 5.0 d'après apt-cache, pose problème. Pour que ça fonctionne chez moi, il a fallu que j'installe libmysqlclient12 et libmysqlclient12-dev pour compiler PDO_MySQL... Ce qui est d'autant plus surprenant que libmysqlclient12 correspond à MySQL 4.0 et que la deuxième ligne de la documentation sur PDO_MySQL indique :

PDO_MYSQL prendra avantage des requêtes natives préparées présentes dans MySQL 4.1 et supérieur.

Et là, je me dis, mais bon sang, pourquoi n'y a t il pas de paquet officiels php5-pdo-mysql surtout que la documentation PHP indique que PDO est livré en standard avec PHP depuis la version 5.1 et qu'il s'agit d'une fonctionnalité majeure de cette version de PHP.

» Commentaires

- pdo (#64168) par Pierre le 30 Janvier 2007 à 02:59
Hello,

je te conseille d'utiliser 5.2.0, compile a la main. 5.1.6 serait deja mieux que la derniere version de PECL.

Concernant PDO dans ubuntu, ayant lu:
http://changelogs.ubuntu.com/chan...php5/php5_5.1.6-1ubuntu2.1/changelog

Je me demande de quoi ils parlent. Je pense continuer a compiler mes packages :)

- Si ca peut t'aider (#64169) par Matt.Rixx le 30 Janvier 2007 à 08:04
Je suis conscient que l'astuce n'est pas des plus propres, mais si ca peut t'aider, on peut utiliser dotdeb pour avoir un joli paquet avec pdo:

http://fashion.hosmoz.net/blog/po...dgy-Eft-Dotdeb-php5-pdo-mysql-et-moi
http://fashion.hosmoz.net/blog/post/2006/11/28/dotdeb-et-PDO_Mysql
- PDO sous Ubuntu, on va attendre feisty je crois bien (#64170) par Bastes le 30 Janvier 2007 à 08:55
Ben voilà, tout est dans le titre. J'ai essayé, je me suis cassé les dents, et j'ai pas trop trop envie de compiler et installer PHP à la main sans savoir toutes les choses à faire pour l'installer et garder un système propre.

Bref, attendons Feisty.
- dotdeb (#64171) par MaitrePylos le 30 Janvier 2007 à 09:11
Attention, j'ai utiliser les packages dotdeb sur ma Dapper, et j'ai été confronté à un problème de symbole sur les fonctions d'échappements.

Je travaille avec PostgreSQL, et tous ce qui étais de l'ordre de la requête préparé ne fonctionnais pas, parce que escape_string(), posais problème, je ne sais si le problème sera également le même avec Mysql?
- Re (#64185) par Damien le 30 Janvier 2007 à 20:16
Pierre> je préfère utiliser les packages lorsque c'est possible, c'est tellement plus confortable :)

Matt.Rixx> oui je suis tombé sur ton blog plusieurs fois en faisant mes recherches, j'avoue ne pas avoir très confiance en dotdeb.org sous Ubuntu, confirmé par MaitrePylos.

» Trackback

Aucun trackback

Les trackacks sont désactivés

Flux RSS des billets

Flux RSS des billets

Rechercher sur pwet.fr

À retenir

Derniers commentaires

Archives

Nuage de tags

Bioutifoul photos

Quelques liens

Licence d'utilisation

Contenu sous Licence Creative Commons By-Sa

Sauf mentions spécifiques, les billets et les photos publiés sur ce site sont placés sous la licence Creative Commons by-sa.

Pour toute utilisation dépassant le cadre de cette licence, merci de me contacter par e-mail.

Login