Which OCI8 DLL to use in PHP 5.3
By cj on Dec 04, 2008
As I foreshadowed in a now distant post, Pierre has installed Oracle 11g Instant Client on the PHP Windows build box and updated the OCI8 build scripts for PHP 5.3 (and PHP 6).
PHP 5.3 now has two mutually exclusive versions of the OCI8 extension DLL:
Built with Oracle 10gR2 client libraries. These libraries connect to Oracle Database 8.1 through to Oracle 11. (The DLL will also work with Oracle 11g libraries, but no DRCP connection pooling support is available)
enable in your php.ini with extension=php_oci8.dll
Uses Oracle 11g client libraries. These libraries connect to Oracle Database 9.2 through to Oracle 11.
Allows you to use Oracle 11g connection pooling
Enable in your php.ini with extension=php_oci8_11g.dll
The two DLLs have the same user script API that do the same thing. You only need to (and only can) enable one at any one time. Choose the one that matches your Oracle client libraries.
Php_oci8_11g.dll is obviously a "new thing". Since PHP 5.3 has already entered its Alpha stage, NOW IS THE TIME TO TEST OCI8.
In a related inflexion point change for PDO_OCI, the old php_pdo_oci8.dll (built with Oracle 8 libraries) has been dropped in PHP 5.2.7 and 5.3. Windows builds now only include php_pdo_oci.dll, which built with Oracle 10gR2 libraries. (Through the magic of Oracle library compatibility, this DLL will also work with Oracle 11g Instant Client).
Thanks to Pierre, Rob, and Elizabeth S for help the getting the builds updated, to John Mertic for updating the MSI installer, and to Steph for some early correspondence on the topic.