<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://blog.nodeo.net/index.php/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
  <title>nodeo.net - Blog - Pour un web libre, moderne et ouvert ! - mysql</title>
  <link>http://blog.nodeo.net/index.php/</link>
  <description>Les dernières activités de Nodeo, des tests d'applications web, articles sur le webdesign et le développement web</description>
  <language>fr</language>
  <pubDate>Sat, 17 May 2008 17:27:53 +0200</pubDate>
  <copyright>Copyright, Nodeo 2006</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Installer les drivers PDO pour MySQL sous MAMP : modifs du php.ini par défaut</title>
    <link>http://blog.nodeo.net/index.php/post/2006/12/22/Installer-les-drivers-PDO-pour-MySQL-sous-MAMP</link>
    <guid isPermaLink="false">urn:md5:f14ddebd38e3107d9510589d5711435a</guid>
    <pubDate>Fri, 22 Dec 2006 01:10:00 +0100</pubDate>
    <dc:creator>davidm</dc:creator>
        <category>Développement web</category>
        <category>dev</category><category>mysql</category><category>pdo</category><category>php</category>    
    <description>&lt;p&gt;&lt;a href=&quot;http://www.mamp.info/en/index.php&quot; hreflang=&quot;en&quot;&gt;MAMP&lt;/a&gt; est un serveur de test local pour Mac OS X, bien connu des développeurs web. Je m'en sert au quotidien, car il est régulièrement mis à jour, qu'il possède un switcher PHP4/PHP5 et qu'il est plus léger que &lt;a href=&quot;http://www.apachefriends.org/fr/xampp.html&quot; hreflang=&quot;fr&quot;&gt;XAMPP&lt;/a&gt; et aussi plus convivial.&lt;/p&gt;


&lt;p&gt;Mais venons en au fait : j'ai eu besoin dernièrement d'installer les drivers PDO(*) pour MySQL (**) , ce qui ne devrait pas être bien compliqué puisqu'il suffit d'éditer le fichier de configuration de PHP (php.ini) pour activer ceux-ci. La lecture du fichier de config par défaut de MAMP pour PHP5 est :&lt;/p&gt;

&lt;pre&gt;
extension=pdo_mysql.so
&lt;/pre&gt;


&lt;p&gt;Par conséquent, le driver PDO pour MySQL est normalement chargé par défaut... ce qui n'est en fait pas le cas si on regarde le phpinfo() l'extension n'est pas chargée. Voyons comment réparer ce petit souci...&lt;/p&gt;    &lt;p&gt;Un petit coup d'oeil à &lt;a href=&quot;http://fr.php.net/manual/fr/ref.pdo.php&quot; hreflang=&quot;fr&quot;&gt;la doc de php.net concernant PDO&lt;/a&gt; permet rapidement de déceler que ce problème vient de l'absence d'une ligne essentielle au chargement de l'extension et qui permet d'initialiser PDO avant de charger le driver :&lt;/p&gt;

&lt;pre&gt;
extension=pdo.so
&lt;/pre&gt;


&lt;p&gt;Cette ligne doit figurer AVANT la ligne qui permet le chargement du driver (je cite la doc : &lt;q&gt;assurez-vous qu'ils sont listés après la ligne pdo.so, car PDO doit être initialisé avant le chargement des extensions spécifiques à la base de données&lt;/q&gt; ). Ce qui donne donc :&lt;/p&gt;

&lt;pre&gt;
extension=pdo.so
extension=pdo_mysql.so
&lt;/pre&gt;


&lt;p&gt;Notre driver PDO pour MySQL est enfin bien chargé et fonctionnel avec MAMP (dans mon cas, version 1.4.1) :&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://blog.nodeo.net/public/PDOconf_mamp.jpg&quot; alt=&quot;PDOconf_mamp.jpg&quot; style=&quot;display:block; margin:0 auto;&quot; /&gt;&lt;/p&gt;



&lt;p&gt;(*) &lt;em&gt;PDO fournit une interface d'abstraction à l'accès de données, ce qui signifie que vous utilisez les mêmes fonctions pour exécuter des requêtes ou récupérer les données quelque soit la base de données utilisée.&lt;/em&gt;&lt;/p&gt;


&lt;p&gt;(**) &lt;em&gt;Mes lecteurs habituels doivent se dire que MODx 0.9.7 alpha est en test ;) Et ils n'auraient pas tort !)&lt;/em&gt;&lt;/p&gt;


&lt;hr /&gt;


&lt;p&gt;&lt;strong&gt;NB:&lt;/strong&gt; La documentation de php.net indique aussi que &lt;q&gt;PDO_MYSQL est un pilote qui implémente l'interface de PHP Data Objects (PDO) pour autoriser l'accès de PHP aux bases de données de MySQL 3.x et 4.x&lt;/q&gt; (voir &lt;a href=&quot;http://fr.php.net/manual/fr/ref.pdo-mysql.php&quot; hreflang=&quot;fr&quot;&gt;http://fr.php.net/manual/fr/ref.pdo-mysql.php&lt;/a&gt;)&lt;/p&gt;


&lt;p&gt;Quid de MySQL 5.x me direz vous ?
Et bien quoique la doc laisse implicitement penser qu'il n'y a pas de driver PDO pour MySQL5, ce n'est pas le cas comme je l'ai découvert via la mailing list de php, si cela peut vous être utile, la marche à suivre est ici : &lt;br /&gt;
&lt;a href=&quot;http://www.mail-archive.com/php-general-digest@lists.php.net/msg00958.html&quot; hreflang=&quot;en&quot;&gt;http://www.mail-archive.com/php-general-digest@lists.php.net/msg00958.html&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Il &amp;quot;suffit&amp;quot; de compiler PHP avec les bonnes options :&lt;/p&gt;
&lt;pre&gt;
./configure --with-pdo-mysql=/path/to/mysql5/install/
&lt;/pre&gt;


&lt;p&gt;L'autre piste est d'utiliser &lt;a href=&quot;http://pecl.php.net/&quot; hreflang=&quot;en&quot;&gt;PECL&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
</channel>
</rss>