Évidement, avant de migrer, il est nécéssaire de faire le classique détour vers /usr/port/UPDATING, qui détaille la marche à suivre pour que la migration se passe au mieux :

20100409:
AFFECTS: users of lang/php5
AUTHOR: ale@FreeBSD.org

As of php 5.3, a few extensions were removed from or included into the core
php5 package. Follow the steps below to update your installation.

1) Delete the following packages (if installed):
- php5-dbase
- php5-ncurses
- php5-pcre
- php5-spl
- php5-ming
- php5-mhash

2) Rebuild php5 and all ports depending on it.

Cependant, malgré la stricte application de ces instructions, j'ai eu un soucis.

En effet, toutes mes tentatives de compilation de l'extension php5-mysqli m'ont systématiquement renvoyées l'erreur suivante :

root@diablo:/usr/ports/databases/php5-mysqli
40> make install clean
===>  Patching for php5-mysqli-5.3.2
===>  Applying FreeBSD patches for php5-mysqli-5.3.2
1 out of 1 hunks failed--saving rejects to mysqli.c.rej
=> Patch patch-mysqli.c failed to apply cleanly.
*** Error code 1

Stop in /usr/ports/databases/php5-mysqli.

La seule solution que j'ai trouvé, à la lecture du sujet correspondant à PHP 5.3 sur le forum du support de FreeBSD, a été de modifier la valeur de la variable CONFIGURE_ARGS définie dans le fichier /usr/ports/php5/Makefile en lui ajoutant la ligne suivante :

--with-mysqli=shared,mysqlnd \

Attention, il faut surtout pas oublier le \ à la fin de la ligne, sous peine d'avoir une erreur lors de l’exécution du fichier.

Une fois PHP recompilé, il ne reste plus qu'à ajouter la ligne suivante dans /usr/local/etc/php/extension.ini :

extension=mysqli.so

Il faut également ne pas oublier de redémarrer votre serveur http pour pouvoir profiter de la mise à jour.

Il est également probable que vous ayez à modifier l'ordre de chargement des extensions de PHP dans le fichier /usr/local/etc/php/extensions.ini pour éviter un plantage en beauté lors de son éxécution ;

root@diablo:/usr/ports/lang/php5
48> php --version
PHP 5.3.2 with Suhosin-Patch (cli) (built: Apr 12 2010 10:20:57)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
with Xdebug v2.0.5, Copyright (c) 2002-2008, by Derick Rethans
with Suhosin v0.9.30, Copyright (c) 2007-2010, by SektionEins GmbH
Segmentation fault: 11 (core dumped)

Dans mon cas, il suffit de charger l'extension recode avant l'extension mysql.

Une fois tout cela effectué, vous obtiendrez le résultat suivant :

root@diablo:/usr/ports/lang/php5
49> php --version
PHP 5.3.2 with Suhosin-Patch (cli) (built: Apr 12 2010 10:20:57)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
with Xdebug v2.0.5, Copyright (c) 2002-2008, by Derick Rethans
with Suhosin v0.9.30, Copyright (c) 2007-2010, by SektionEins GmbH

Enjoy !

J'espère que pour la prochaine version, le mainteneur du port sera beaucoup plus rapide, car vu la vitesse d''avancement des travaux du PHP Group sur le sujet, il a le temps de se préparer...