Forum PHP, Annonce de la sortie de WampServer 2 : Slides et Son

    10:40 8 12 2007

Geoffrey Audebert, connaissance de longue date et membre de l’AFUP, a pris le temps de monter le son d’une partie de ma conférence d’annonce de WampServer 2 avec les slides qui étaient projetés. Je trouve le résultat très réussi et finalement plus intéressant qu’une simple vidéo. Il devrait maintenant se lancer dans la même opération pour les autres conférences du Forum.

http://gargan21.free.fr/presentation_wampserver/presentation_wampserver.htm



mysqlnd, un driver MySQL optimisé pour PHP

    19:44 4 12 2007

Pour se connecter à une base de données MySQL avec PHP, il existe trois solutions (ou connecteurs) : mysql, mysqli et PDO.
Ces connecteurs ont tous leurs spécificités et sont apparus au fur et à mesure des évolutions de PHP.
Point commun entre ces trois connecteurs, ils se basent tous sur la bibliothèque libmysql qui fut initialement développée pour les langages C et C++.

Une des grandes nouveautés de PHP 5.3 est l’apparition de la bibliothèque mysqlnd, bibliothèque développée par MySQL spécifiquement pour PHP. Wouhou, ils s’intéressent enfin à PHP, il était temps!

Alors, tout d’abord, il est important de ne pas confondre : mysqlnd n’est pas un nouveau connecteur! Il s’agit d’une bibliothèque utilisée par les connecteurs. Au niveau de l’utilisation il n’y aura donc pas particulièrement de changement, vous continuerez à utiliser mysqli ou PDO au choix.

Mais alors que va apporter cette nouveauté?

Bah tout d’abord, des performances. mysqlnd a été développé spécifiquement pour fonctionner avec PHP et passe donc par le gestionnaire de mémoire du Zend engine. Cela permet d’avoir une meilleure gestion de l’allocation de la mémoire et un gain en terme de cycles CPU. A noter que la directive MEMORY_LIMIT s’appliquera donc maintenant aux connecteurs utilisant cette bibliothèque. Mais le gros point fort vient du système de gestion de la mémoire introduit par mysqlnd.
Pour schématiser, jusqu’ici, lorsqu’on faisait une requête avec MySQL, le jeu de résultat de la requête était stocké en mémoire et chaque fetch que vous faisiez allait taper dans ce jeu de résultat pour créer de nouvelles variables, celles justement renvoyées par votre fetch et utilisables dans votre script PHP (généralement, un tableau). Avec mysqlnd, les copies ne sont plus effectuées, à chaque fetch, vos variables PHP pointent directement sur les adresses mémoire de votre jeu de résultat MySQL à utiliser ce qui évite les doublons et permet donc de grosses économies de mémoire.

ensuite, mysqlnd introduit de nouvelles fonctionnalités. J’ai dit nouvelles? Pardon, le mot n’est peut être pas juste. En effet, dans les « nouvelles » fonctionnalités, il y a tout d’abord les connexions persistantes.
Elles avaient été abandonnées avec le connecteur mysqli pour des problèmes de performances et de stabilité (voir ce post très intéressant : http://www.mysqlperformanceblog.com/2006/11/12/are-php-persistent-connections-evil/).
Apparemment, ces problèmes ont été résolus avec mysqlnd puisque cette fonctionnalité réapparaît. Reste à voir si cela a un véritable intérêt.
Autre nouveauté, des fonctions de statistiques vont être disponibles, statistiques qui vous permettront d’optimiser vos scripts. Ces fonctions ont déjà été intégrées dans mysqli dans la PHP 5.3 : mysqli_get_client_stats(), mysqli_get_connection_stats() ou encore mysqli_get_cache_stat().

Enfin d’autres fonctionnalités sont également introduites comme un système de cache de requête côté client (par client, comprenez PHP, en opposition à MySQL) ou encore l’utilisation de l’API de gestion de flux de PHP (streams).

concernant la licence, mysqlnd est publié sous licence PHP ce qui permet de réintroduire le support natif de MySQL dans PHP 5.3.

Pour le moment, mysqlnd a été intégré aux extensions mysql et mysqli et est en train d’être intégré à PDO.

Enfin voilà, que des bonnes nouvelles pour les habitués du trio AMP!



PHP 6.0-dev et MySQL 5.1.22rc pour WampServer

    00:05 3 12 2007

Je viens de publier deux nouveaux addons permettant de tester PHP 6.0-dev et MySQL 5.1.22rc sur WampServer. J’en ai profité pour créer une rubrique dédiée aux dev, beta et rc sur le site de WampServer histoire de ne pas les mélanger avec les versions stables de A M P.

Vous pourrez le trouver sur cette page :

http://www.wampserver.com/addons_dev.php

Bons tests ;-)



Les locaux d’Anaska pris d’assaut!

    18:33 1 12 2007

Une intrusion fulgurante a eu lieu dans les locaux d’Anaska situés en région Parisienne le jeudi 29 Novembre 2007 au matin.
Vers 10h, un troupeau d’une centaine d’elephpants accompagné de leur leader, le maxi elephpant, s’est introduit par la force dans les bureaux et salles de formation de la société pour y prendre place et ne plus en sortir.
Pour le moment, nous ne recenssons aucun blessé mais de nombreux bureaux sont maintenant inutilisables et le stock de livres est inaccessible.

invasion d’elephpants

Afin de trouver une sortie à cette crise, la direction d’Anaska a décidé d’offrir un elephpant à toute personne suivant une formation PHP jusqu’au 31 Décembre 2007 (dans la limite des stocks disponibles).