Fork me on GitHub
/ Sweet home / Blog / Archives / PDO + MySQLND + DSN = WTF /

PDO + MySQLND + DSN = WTF

Last update: 2011-03-02 02:14:37

Les DSN avec PDO c'est comme une boite de chocolats... on ne sait jamais sur quoi on va tomber.

Avec le driver PDO-MySQL basé sur libmysql, "mysql:host=localhost" ça veut dire "connexion TCP sur hôte local". Par contre le même DSN avec le driver MySQL natif veut dire "connexion sur hôte local via socket Unix"... il faut utiliser "mysql:host=127.0.0.1" pour forcer l'utilisation de TCP.

Va comprendre...


<< Mise à jour du client Python JSON-RPC
Commander MPD avec son Palm/Pocket PC/Smartphone >>
 

Comments

Guellouze

C'est con, un peu plus et tu avais un titre à la Rocky Cavava Bottines :

PDO + MySQLND + DSN = WTF

Mickaël

Oh la belle idée ! et bien voilà, c'est fait. Il manque le super
graphique illisible mais bon...

Fredo, si tu nous entends... bisous bisous !

fch

Une incohérence de plus.
Comment dit-on, déjà, je ne me souviens plus... ... ... ah ! oui ! PHP,
c'est de la merde :).
Cependant, pour une fois, vouloir forcer l'utilisation de la socket unix en
local me semble être une bonne chose, voir même une chose intelligente,
car vouloir utiliser du TCP en local, c'est un peu idiot.
Dommage qu'apparament, pour certain développeur, localhost soit apparament
différent de 127.0.0.1.
J'espère que tu as ouvert un ticket dans le bug tracker, je serais curieux
de voir la réponse qui est ou sera donnée.

Mickaël

Oui, en même temps la différence en terme de performance n'est pas non
plus si énorme que ça.

Si je dépose un rapport de bug sur php.net je pense que ça se terminera
pas un "read the docs" ou un "this is by design".

Autre fait dommage avec PDO, pas de support pour les transactions
imbriquées (et là encore... "by design"). Comme  d'habitude ont voit des
solutions paliatives:
http://www.kennynet.co.uk/2008/12/02/php-pdo-nested-transactions/

fch

Dommage pour le bug report. Cette attitude est la meilleure façon de ne
jamais voir les choses évoluer.
C'est bien de raler dans le vent, mais si tu veux que les choses bougent
vraiment, il faut te bouger.

fch

Y'a un bug :), rafraichir la page permet d'inserer plusiseurs fois son
commentaire sans soucis.
Il manque une redirection http quelque part.
Je serais d'humeur joueuse, je ferais un petit script avec curl :D.

Mickaël

ah oui...

Mickaël

Et voilà, au revoir le vilain bug.

Sinon pour le bug report, merci mais j'ai déjà donné en d'autres
occasions. T'annonce le bug, t'apporte même le correctif... et le
mainteneur s'en fout et ne prend même pas la peine de répondre, cf
l'implémentation de json-rpc dans le framework zend par exemple. Pour le
cas présent tu peux aller voir ici: http://bugs.php.net/bug.php?id=45468

Voilà comment ça se termine: "Closing this, as not a bug anymore"

cqfd.

Comment this