PDO avec mysqlnd en cours de développement

    09:25 17 04 2008

Comme je l’ai déjà décrit dans un post précédent, mysqlnd (pour MySQL Native Driver) est un driver développé depuis peu par MySQL et optimisé pour être utilisé avec PHP et notamment le Zend Engine. Celui-ci va permettre, en remplacement de la libmysql, d’atteindre un meilleur niveau de performance dans l’utilisation du couple PHP/MySQL.

Ce driver, initialement intégré à l’extension php_mysqli est en cours d’intégration à PDO. MySQL vient d’annoncer aujourd’hui la disponibilité d’une première version « preview » de cette nouvelle version de PDO_MySQL. Ils ne précisent pas quand la version définitive sera disponible :

http://forge.mysql.com/wiki/PHP_PDO_MYSQLND



Appel à conférenciers pour le forum PHP

    09:34 9 04 2008

L’AFUP (Association Française des Utilisateurs de PHP) vient de faire son appel à conférenciers pour le Forum PHP 2008.

Comme chaque année depuis maintenant 6 ans (et oui, déjà), nous recherchons des intervenants souhaitant partager leurs expériences et leur savoir-faire autour de PHP. Les thèmes abordés cette année seront:

* Comment gérer un projet PHP (outils, méthodes, …)
* Assurer la qualité du code
* Le Droit sur Internet
* Monter son entreprise autour de PHP
* La montée en charge
* Connecter des services (web services)
* Les interfaces riches (choix technologie, implémentation, …)

Pour postuler rendez vous sur cette page:

http://afup.org/pages/forumphp2008/appel-a-conferenciers.php



Mise à Jour de WampServer 2.0

    17:18 7 03 2008

Je viens de mettre en ligne 3 nouveaux addons pour WampServer :

- Apache 2.2.8
- Apache 2.0.63
- MySQL 5.0.51a

J’en ai également profité pour mettre à jour WampServer 2.0 (qui passe donc en 2.0b), qui profite également au passage d’une mise à jour de PHPmyadmin (2.11.5) et de quelques corrections mineures.

Pour ceux qui ont déjà installé la version 2.0a, je conseille d’installer les addons plutôt que de mettre la version 2.0b par dessus. Normalement, l’upgrade devrait fonctionner sans problème, mais j’avoue ne pas avoir testé tous les cas de figure possibles et imaginables, donc il vaut mieux éviter.

Bon dev à tous ;-)



Témoignage sur Sqlite pour 01net

    10:09 1 03 2008

Hier, 01net a publié un article sur Sqlite et son intégration dans Adobe Air. A cette occasion, j’ai été interviewé afin de donner mon avis sur cette technologie intégrée nativement dans PHP depuis la version 5.0 :


lire l’article



Les développeurs PHP préfèrent Firefox!

    16:29 27 02 2008

Par curiosité, j’ai généré quelques statistiques avec Google Analytics sur la fréquentation du site http://www.wampserver.com pour l’année 2007.
Et grande surprise, sur les 2.3 Millions et des brouettes de visiteurs qui sont venus l’année dernière, la majorité utilisaient le Navigateur Firefox :

Firefox : 1,173,067 soit 49,71%
Internet Explorer : 1,076,285 soit 45,61%

Le reste se répartit entre Opéra et le reste des navigateurs.

Comme quoi la communauté PHP est bien en avance sur le reste du monde ;-)



Un serveur AMP sur mon Iphone, mon intranet en local!

    21:32 25 02 2008

Ce week end, un pote m’a rapporté un Iphone des US. Après m’être amusé avec les fonctionnalités de base telles que la triangulation GSM avec google Maps ou encore les recherches Utube, je me suis lancé dans l’installation de Apache, PHP et MySQL.

La première étape passe par l’installation de SSH et d’un terminal (vt100) sur la bête. Plutôt simple avec tous les sites dédiés à l’Iphone sur le net.

Je suis ensuite passé à l’installation de Apache, PHP et MySQL. En fait, le plus compliqué a été de trouver un dépôt de données « up » disposant de ces applications. Une fois installés, un peu de configuration et le tour était joué.

php sur mon Iphone

Un problème subsiste toutefois. La version compilée de PHP (5.2.3) ne dispose que de l’extension mysql, pas de mysqli ni de PDO-mysql et pas de chargement dynamique d’extensions, ça restreint donc les possibilités.

Je vais tout de même continuer mes recherches pour compléter cela, l’intérêt pour moi étant de pouvoir synchroniser une partie de notre intranet sur mon Iphone et donc de disposer d’une version mobile sans pour autant être obligé de souscrire à un forfait 3G auprès de la mafia des opérateurs qui s’entendent pour nous arnaquer en gros!

Par exemple, je dispose déjà d’une version fonctionnelle de notre calendar (gestion des plannings). Il ne me reste plus qu’à configurer une réplication entre notre serveur MySQL et celui installé sur mon Iphone pour que l’application se mette à jour à chaque fois que mon Iphone se connecte sur notre réseau Wifi, autrement dit, dés que je l’active dans nos locaux!

Calendar sur mon Iphone

Joli non ?
A suivre…



SUN rachète MySQL!

    16:14 16 01 2008

Après de nombreux mois de buzz autour de son introduction en bourse , on apprend finalement aujourd’hui que SUN devrait racheter MySQL AB, la société qui gère les produits MySQL :

http://blogs.mysql.com/kaj/2008/01/16/sun-acquires-mysql/

Ainsi SUN affirme encore un peu plus son positionnement dans l’univers Open Source en faisant l’acquisition de l’un des produits les plus répandus et les actifs. Espérons que cela permettra à MySQL de continuer sa progression actuelle.



Un elePHPant en voyage…

    10:46 15 01 2008

Un repos bien mérité en Guadeloupe pour l’elePHPant qui a eu une fin d’année 2007 très mouvementée.

elephpant

elephpant

Je vous vois venir…non, ce n’est pas moi qui ai pris les photos, c’est Loïc d’Anaska qui, lui, peut prendre plusieurs semaines de vacances en plein hiver!



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 ;-)