vendredi 28 novembre 2008, 15:40
Compiler PHP 5.3 sous Debian avec mysqlnd
Là encore, je ne vais pas décrire toute la procédure, car Pascal Martin, toujours lui, l'a déjà fait ;) Je tiens par contre à attirer votre attention sur un problème qui peut se poser lors de la compilation si vous souhaitez utiliser le driver mysqlnd. Avec une Debian Etch (et je pense que cela est valable aussi pour Ubuntu, j'attends la confirmation), la compilation se fera sans histoire, mais l'exécution des tests (make test) échouera pour tous les tests des 3 extension MySQL (No such file or directory unix:////tmp/mysql.sock), et vous ne pourrez donc pas utiliser MySQL depuis PHP. Le problème est connu, mais pour l'instant non résolu. La seule solution que j'ai trouvé (et que je trouve particulièrement inélégante) est de remplacer toutes les instances de /var/run/mysqld/mysqld.sock par /tmp/mysql.sock dans les fichiers /etc/mysql/my.cnf et /etc/mysql/debian.cnf (pensez d'abord à arrêter MySQL bien sûr). J'aimerais bien savoir si ce problème ne touche que les distribs type Debian, donc si quelqu'un a des infos...
Commentaires
Bonsoir,
Je viens de refaire une install à jour (en utilisant l'alpha3) sur une vraie machine, sous Kubuntu 8.10 avec un serveur MySQL installé, et je reproduis le problème lors du make test...
Donc, je confirme, le problème existe aussi sous Ubuntu ^^
Effectivement, j'ai testé moi aussi ce week-end sur une VM fraîche à base d'Ubuntu 8.10 server et toujours le même problème...
Je crois qu'on est bons pour un rapport de bug ;)
(c'est moi ou mon commentaire ne datait pas du 9 décembre ? ^^ un problème de date au changement de skin / moteur ? ^^ )
Bons pour un bug report > comme tu disais, le bug semble connu (Cf bug n° 45468 ) ; et ça date ^^
Mais pas grand chose qui avance, de toute évidence :-(
Par contre, de mémoire, je n'ai pas l'impression que le bug se produisait sur la VM que j'utilisais pour les tests que j'ai fait en rédigeant ma série d'articles (et mysql/mysqli/PDO fonctionnaient, que ce soit avec libmysql ou avec mysqlnd) ; mais je n'avais pas installé de serveur MySQL sur cette VM : je me connectais à celui installé sur la machine sur laquelle tournait la VM...
(pour la date de ton premier commentaire, effectivement y'a eu un petit souci lors de l'update de dotclear, bref...)
Si tu tapais dans le MySQL de la machine sur laquelle tournait la VM, il est plus que probable que lors de l'exécution des tests, les tests relatifs à MySQL aient été zappés vu qu'aucun serveur n'était accessible en local, ce qui expliquerais pourquoi tu n'avais rien vu d'anormal.
Dans la mesure où le bug est toujours assigné, il n'y a pas grand chose que nous puissions faire, si ce n'est nous assurer qu'il est bien corrigé avant la release finale...
(ok ^^ me semblait aussi que j'étais pas vraiment sur le net à ce moment là :-D )
Je suis d'accord avec ton second point ; je n'avais pas envie d'installer un MySQL (ni de mettre des données dedans) dans une VM alors que j'en ai toujours un sur mes machines hôtes => ça explique pourquoi je ne voyais pas le bug en question :-(
Considérant que PHP et MySQL sont souvent installés sur la même machine, effectivement, voila un bug qu'il serait bon de corriger d'ici la finale...