télécharger 34.38 Kb.
|
Migrer un script PHP vers SQL Server Utiliser le driver Microsoft SQL Server pour PHP AvertissementDans le cadre de cet article, nous avons besoin d’un environnement complet de développement (PHP sous IIS7 avec MySQL et SQL Server Express 2008). La mise en place de cet environnement est abordée dans deux autres articles :
PréambuleDans cet article, nous allons voir les opérations à effectuer pour qu’un script PHP faisant appel à des données stockées dans une base de données MySQL utilise finalement ces mêmes données, mais placées dans une base de données SQL Server Express 2008. Nous utiliserons pour cela le driver SQL Server pour PHP fourni et maintenu par Microsoft. Grâce à la Web Platform Installer, nous allons également voir comment procéder à son installation. Nous supposerons que l’espace web est correctement configuré sous IIS7. Notre script PHP avec MySQLVoici un aperçu de notre script PHP faisant appel aux données hébergées au sein d’une base de données MySQL. ![]() Comme vous le voyez, il s’agit d’une simple liste de navigateurs présenté sous forme de tableau HTML. Dans notre cas, l’URL d’accès à ce script est http://localhost/browsers/list.php. C’est ainsi qu’il a été défini grâce au Gestionnaires des Services Internet. Installation du driver Microsoft SQL Server pour PHPPour cela, nous utiliseront Web Platform Installer. Pour y accéder, nous lançons le Gestionnaire des Services Internet, normalement accessible dans la liste des programmes. ![]() Dès que le Gestionnaire des Services Internet est lancé, double-cliquez sur l’icône Web Platform Installer. Patientez quelques secondes avant qu’apparaisse la liste des fonctionnalités proposées à l’installation. ![]() Activez l’option « Microsoft SQL Server Driver for PHP 1.0 » puis cliquez sur le bouton « Install ». Acceptez les termes de licence, puis attendez que l’installation se termine et cliquez sur le bouton « Close » à la fin de celle-ci. ![]() Le driver Microsoft SQL Server pour PHP s’installe comme extension de PHP. Nous allons vérifier que cette extension est bien installée. Créons simplement le script PHP « info.php » ci-dessous : phpinfo(); ?> Pour être simple et rapide, nous le plaçons dans la même arborescence web que notre script PHP qui affiche la liste des navigateurs. Dans notre cas, il s’agit du dossier « C:\work\web\browsers ». Pour retrouver le dossier d’une application ou d’un site défini avec IIS, utilisez le Gestionnaire des Services Internet. Dans la zone latérale gauche, accédez à la liste des sites, faîtes un clic droit sur le site concerné, puis choisissez la commande « Gérer une application », puis « Paramètres avancés… ». Vous obtenez alors la fenêtre ci-dessous : ![]() La ligne « Chemin d’accès physique » contient le dossier où sont placés les sources de l’application ou du site. Nous appelons ensuite le script « info.php » que nous venons de créer à l’URL http://localhost/browsers/info.php. Cela va nous permettre de vérifier que l’extension « SQLSRV » est bien installée. ![]() Transfert des données dans SQL ServerGénération d’un fichier SQLNous allons maintenant effectuer une exportation des données contenues dans la base de données MySQL. Pour cela, nous utilisons l’utilitaire « mysqldump ». Cet utilitaire se trouve dans l’arborescence d’installation de MySQL. Nous lançons donc une invite de commandes en mode administrateur : ![]() Et nous y saisissons la commande ci-dessous : mysqldump.exe -u root -p browsers > C:\work\web\browsers.sql Bien sûr, vous devez adapter le nom de l’utilisateur, l’accès sur mot de passe, le nom de la base de données, ainsi que le dossier et le nom du fichier SQL de sortie. Modification du fichier SQL généréNous allons apporter quelques modifications au fichier SQL que nous venons de générer pour qu’il devienne compatible avec SQL Server. Ces modifications ont déjà été abordées et présentées dans deux autres articles (« Framework PHP sous IIS : Copix Framework » et « Framework PHP sous IIS : Zend Framework »). Vous trouverez cependant ci-dessous la liste des modifications que nous avons apportées à notre fichier SQL. Ouvrez donc le fichier « browsers.sql » dans votre éditeur préféré pour y apporter les modifications ci-dessous :
browsers.dbo.nomdematable1
ENGINE=MyISAM AUTO_INCREMENT=57 DEFAULT CHARSET=utf8 Il est important de vérifier que les fins de déclaration de création de table (CREATE TABLE) se terminent toujours bien par un point-virgule.
Enregistrez les modifications : notre fichier est prêt pour être importé dans SQL Server Express 2008. Création de la base de données SQL ServerSi l’outil « Microsoft SQL Server Management Studio » n’est pas lancé, lancez-le, indiquez le login « sa » et le mot de passe associé. Le champ « Nom du serveur » doit correspondre au nom de votre ordinateur. ![]() Dans la zone supérieure gauche de l’outil, nous faisons un clic droit sur « Base de données » puis nous choisissons l’option « Nouvelle base de données… ». Nous renseignons la boîte de dialogue qui s’affiche comme ci-dessous : ![]() Pour paramétrer l’encodage de la base de données, il faut cliquer à gauche sur « Options » et choisir dans le menu « Classement » la valeur « SQL_Latin1_General_CP1_CI_AS ». ![]() Nous validons en cliquant sur le bouton « OK ». Notre base de données est maintenant créée, comme nous le montre l’illustration qui suit : ![]() Création des tables et des donnéesNous allons maintenant créer les tables et les données dans SQL Server Express 2008 en utilisant notre fichier SQL modifié. Dans la zone latérale gauche, déployez la liste des bases de données, et faîtes un clic droit sur la base de données « browsers » que nous venons de créer. Choisissez l’option « Nouvelle requête », puis faîtes un copier – coller du contenu du fichier « browsers.sql » modifié dans la partie centrale qui apparaît. ![]() Dans le menu « Affichage », « Barres d’outils », vérifiez que « Editeur SQL » soit coché. Pour envoyer les requêtes SQL au serveur, cliquez sur le bouton « Exécuter ». ![]() La table et des données nécessaires au fonctionnement de notre script sont maintenant placées au sein de notre base de données « browsers » sur SQL Server Express 2008. Modification du script PHPNous allons maintenant modifier le script PHP chargé d’afficher notre liste de navigateurs pour qu’il utilise les données stockées dans la base de données « browsers » de SQL Server Express 2008. Script PHP originalListe des navigateurs// Connexion au serveur $link = mysql_connect("localhost", "root", "motdepasse") or die ("Impossible de se connecter : " . mysql_error()); // Sélection de la base de données mysql_select_db('browsers', $link); // Récupère la liste des navigateurs $result = mysql_query("SELECT * FROM browsers ORDER BY browser"); if (!$result) { die ("Requête invalide : " . mysql_error()); } if (mysql_num_rows($result) == 0) { die ("Aucune ligne trouvée, rien à afficher."); } ?>
// Fermeture de la connexion mysql_close($link); ?> |
![]() | «Framework php sous iis : Copix Framework» pour l’installation de sql server Express 2008 | ![]() | |
![]() | ![]() | ||
![]() | ... | ![]() | |
![]() | «Polytech’Market» (esql create sql), le script de remplissage de cette base (esql add sql), le script de suppression de la base (esql... | ![]() | |
![]() | ![]() |