This page states
"You may need to enable the PDO driver for your database of choice; consult the documentation for [database-specific PDO drivers] to find out more about that."
With the term "database-specific PDO drivers" being a link to this information. However you will no find this information on that or any of the pages that it in turn links to.
The appropriate config options seems to be only available by running ./config --help from the source directory after running autoconf.
Here is the related output from running that command:
=====================
--with-pdo-dblib[=DIR] PDO: DBLIB-DB support. DIR is the FreeTDS home directory
--with-pdo-firebird[=DIR] PDO: Firebird support. DIR is the Firebird base
install directory [/opt/firebird]
--with-pdo-mysql[=DIR] PDO: MySQL support. DIR is the MySQL base directoy
If mysqlnd is passed as DIR, the MySQL native
native driver will be used [/usr/local]
--with-zlib-dir[=DIR] PDO_MySQL: Set the path to libz install prefix
--with-pdo-oci[=DIR] PDO: Oracle OCI support. DIR defaults to $ORACLE_HOME.
Use --with-pdo-oci=instantclient,prefix,version
for an Oracle Instant Client SDK.
For Linux with 10.2.0.3 RPMs (for example) use:
--with-pdo-oci=instantclient,/usr,10.2.0.3
--with-pdo-odbc=flavour,dir
PDO: Support for 'flavour' ODBC driver.
include and lib dirs are looked for under 'dir'.
'flavour' can be one of: ibm-db2, iODBC, unixODBC, generic
If ',dir' part is omitted, default for the flavour
you have selected will used. e.g.:
--with-pdo-odbc=unixODBC
will check for unixODBC under /usr/local. You may attempt
to use an otherwise unsupported driver using the "generic"
flavour. The syntax for generic ODBC support is:
--with-pdo-odbc=generic,dir,libname,ldflags,cflags
When build as shared the extension filename is always pdo_odbc.so
--with-pdo-pgsql[=DIR] PDO: PostgreSQL support. DIR is the PostgreSQL base
install directory or the path to pg_config
--without-pdo-sqlite[=DIR]
PDO: sqlite 3 support. DIR is the sqlite base
install directory [BUNDLED]
=====================
So if you wish for instance to install the PostgreSQL PDO driver, then you should add the --with-pdo-pgsql config option before compiling PHP. I may have made mistakes in my explination, however it appears to work and was my best guess given the absence of the mentioned documentation.
Installation
-
Si vous exécutez une version 5.1 de PHP, PDO et PDO_SQLITE sont inclus dans cette distribution; il devrait être automatiquement activé lorsque vous lancerez le script de configuration de PHP. Il est recommandé de compiler PDO en tant qu'extension partagée, ce qui vous permettra de mettre à jour PDO via PECL. Il est également recommandé d'activer le support zlib (pour l'installeur PECL) lors de la compilation de PHP. Vous devriez également avoir besoin d'activer le pilote PDO correspondant à la base de données de votre choix ; consultez la documentation des pilotes PDO spécifiques à une base de données pour plus d'informations, mais notez que si vous construisez PDO en tant qu'extension partagée, vous devez également construire les pilotes PDO en tant qu'extensions partagées. L'extension SQLite dépend de PDO, donc, si PDO est construit en tant qu'extension partagée, SQLite doit être construit de la même manière.
./configure --with-zlib --enable-pdo=shared --with-pdo-sqlite=shared --with-sqlite=shared
-
Après avoir installé PDO en tant que module partagé, vous devez éditer votre fichier php.ini afin que l'extension PDO soit chargée automatiquement lorsque PHP est lancé. Vous devez y activer également le driver spécifique à votre base de données ; 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. Si vous avez compilé PDO et les extensions spécifiques à la base de données statiquement, vous pouvez sauter cette étape.
extension=pdo.so
-
Le fait d'avoir PDO en tant que module partagé vous permet d'exécuter la commande pecl upgrade pdo pour mettre à jour votre version de PDO sans pour autant avoir besoin de recompiler complètement PHP. Notez que si vous faites cela, vous devez également mettre à jour votre driver PDO spécifique à votre base de données en même temps.
-
PDO est disponible en tant qu'extension PECL depuis » http://pecl.php.net/package/pdo. L'installation peut être faite via la commande pecl ; ceci est activé par défaut lorsque vous configurez PHP. Vous devriez vous assurer que PHP a été configuré avec --with-zlib pour pouvoir utiliser la commande pecl afin de gérer les paquets compressés.
-
Exécutez la commande suivante pour télécharger, compiler et installer la dernière version stable de PDO :
pecl install pdo
-
La commande pecl installe automatiquement le module PDO dans votre dossier d'extensions PHP. Pour activer l'extension PDO sous les systèmes Linux ou Unix, vous devez ajouter la ligne suivante dans votre fichier php.ini :
extension=pdo.so
Pour plus d'informations sur la compilation de paquets PECL, consultez la section sur l'installation de PECL du manuel.
-
PDO ainsi que tous les drivers principaux interagissent avec PHP en tant qu'extensions partagées, et ont tout simplement besoin d'être activés en éditant le fichier php.ini :
extension=php_pdo.dll
-
Ensuite, choisissez les autres fichiers DLL spécifiques à votre base de données et utilisez soit la fonction dl() pour les charger au moment de l'exécution ou activer-les dans le fichier php.ini en dessous de la ligne php_pdo.dll. Par exemple :
extension=php_pdo.dll extension=php_pdo_firebird.dll extension=php_pdo_informix.dll extension=php_pdo_mssql.dll extension=php_pdo_mysql.dll extension=php_pdo_oci.dll extension=php_pdo_oci8.dll extension=php_pdo_odbc.dll extension=php_pdo_pgsql.dll extension=php_pdo_sqlite.dll
Ces bibliothèques DDLs doivent exister dans le dossier système extension_dir. Notez que PDO_INFORMIX est seulement disponible en tant qu'extension PECL.
Installation
13-Nov-2009 08:13
07-Jun-2009 09:06
To add from windows, simply use add/remove programs to change the PHP installation and select the PDO features required.
26-Jul-2008 09:28
To install PDO MySql in Debian/Ubuntu systems run:
sudo aptitude install libmysqlclient-dev
sudo pecl install pdo
sudo pecl install pdo_mysql
