[Linux-bruxelles] [PHP mysqli] peut-on se passer de mysqlnd ?
Jérôme Warnier
jwarnier at beeznest.net
Lun 2 Déc 12:58:23 CET 2013
On 2013-11-26 12:00, Serge SMEESTERS wrote:
> Salut la liste,
>
>
> Introduction :
> ==========
>
> Je poste ici pour ne pas devoir m'abonner à une xième liste.
>
> Il s'agit bien de l'utilisation de logiciels libres à Bruxelles, au
> sein d'une asbl située sur la commune de Forest :)
>
> Je vous ai déjà fais part de mes effort pour remplacer l'usage du
> logiciel Access de Microsoft par "de la web-application, PHP/MySQL"...
>
> Je recherchais quelques cadres de travail (Framework en anglais) pour
> me faciliter ce genre de tâches. Mais je n'ai encore rien trouvé de
> convaincant, sans tomber dans la grosse artillerie...
>
> Je code donc "tout" moi-même en PHP...
> PHP étant déjà lui-même bien abouti dans ses dernière versions...
>
> Ceux qui sont intéressés par la chose peuvent me contacter
> personnellement. Je partagerai avec plaisir du code ;)
>
>
> Problème :
> ========
>
> De PHP, j'utilise mysqli.
> J'arrive à faire plein de pages avec une requête connue et prédéfinie
> dont je connais le nom des champs, etc. Je peu donc facilement
> présenter les résultats dans un tableau html et même faire un bind
> pour les champs résultats...
>
> Mais je suis en train de créer une page plus "générique" devant
> permettre la saisie d'une requête et obtenir le résultat.
>
> Pour se faire, j'aurais besoin de pouvoir utiliser la fonction suivante
> :
> http://fr.php.net/manual/en/mysqli-stmt.get-result.php
> Mais vous verrez comme moi :
> MySQL Native Driver Only
> Available only with mysqlnd.
>
> Et le problème est que GNU Debian Squeeze, le système du serveur sur
> lequel je travail ne propose pas ("proposait pas encore") le paquet
> nécessaire, php5-mysqlnd :(
> http://packages.debian.org/search?keywords=php5-mysqlnd
Ce MySQL Native Driver est vraiment une bonne chose.
Avant, PHP utilisait la librairie du client MySQL (upstream), et son
intégration était donc imparfaite. Avec mysqlnd, ils ont réécrit un
client MySQL pour PHP, qu'ils ont intégré dans PHP et qui offre donc
beaucoup de fonctionnalités (bas niveau) en plus, avec notamment pour
effet le contrôle précis, et la réduction significative, de la mémoire
vive utilisée.
Il y a au moins une fonctionnalité perdue dans l'histoire, qui est la
compression du flux entre le client et le serveur. De ce que j'en sais
d'il y a quelques mois, c'était en développement, mais sans promesse de
délai de réalisation.
Encore une petite chose: d'expérience, le passage à Wheezy sur un
serveur web (PHP + MySQL) est vraiment bénéfique au point de vue des
performances (au moins). Pas seulement une question de fraîcheur des
packages ou de sécurité, donc.
> Solutions :
> ========
>
> Je n'ai encore appliqué aucune solution.
> J'hésite...
>
> Soit il y a un autre moyen de faire ça en PHP, obtenir les méta-info
> sur les champs résultants d'une requête, nom, type de données, etc.
> Quelqu'un connaît-il une telle autre solution ?
> (si possible avec toujours mysqli, histoire de ne pas devoir trop m'en
> éloigner)
>
> Soit j'utiliserais un dépôt alternatif tel que Dotdeb :
> http://www.dotdeb.org/instructions/
> Connaissez-vous ?
Oui, bien sûr.
> Me le recommandez-vous ?
Sans aucun doute.
> Me le déconseillez-vous ?
Non, pas du tout. Nous (BeezNest) l'utilisons pour des énormes sites web
en PHP (Chamilo ou Drupal), et l'utilisons d'ailleurs toujours
actuellement sur certains.
> Merci d'avance.
>
>
> À+,
> Serge S.
Plus d'informations sur la liste de diffusion Linux-bruxelles