ID: 41676 User updated by: alison dot holloway at oracle dot com Reported By: alison dot holloway at oracle dot com Status: Assigned Bug Type: PDO related Operating System: Windows XP SP2 PHP Version: 5.2.3 Assigned To: edink New Comment:
On Windows platforms, the php_pdo_oci8.dll library was built against the Oracle8i and 9i library. php_pdo_oci.dll was built against the Oracle 10g library. So, php_pdo_oci8.dll may be used with Oracle 8i or 9i clients, and php_pdo_oci.dll should be used to connect to Oracle 10g clients. If both libraries are installed, this would likely cause problems connecting to Oracle. Previous Comments: ------------------------------------------------------------------------ [2007-06-25 18:56:38] [EMAIL PROTECTED] Edin, what is php_pdo_oci8.dll and why do we have two dlls for PDO_OCI? ------------------------------------------------------------------------ [2007-06-13 07:10:15] alison dot holloway at oracle dot com Of course, I meant "Install PHP 5.2.3" as the first line to reproduce this. ------------------------------------------------------------------------ [2007-06-13 07:08:44] alison dot holloway at oracle dot com Description: ------------ Startup errors when using PDO_OCI8 extension. Reproduce code: --------------- Install PHP 4.2.3 Select the following extensions to include in the install: OCI8 PDO PDO_OCI8 Turn on display_startup_errors in php.ini. The following errors are displayed on Apache start up: PHP Startup: Invalid library (maybe not a PHP library) 'php_pdo_oci8.dll' PHP Startup: Invalid library (maybe not a PHP library) 'php_pdo_oci8.dll' phpinfo() says the following PDO libraries are loaded PDO PDO support enabled PDO drivers oci PDO_OCI PDO Driver for OCI 8 and later enabled Run a small Oracle 10g PDO script. This is the script I used against and Oracle Database XE (10.2) database: <?php print_r(PDO::getAvailableDrivers()); $dbh = new PDO('oci:dbname=//localhost/XE', 'hr', 'hr'); $s = $dbh->prepare("select city from locations"); $s->execute(); while ($r = $s->fetch(PDO::FETCH_ASSOC)) { echo $r['CITY'] . "<br>"; } $dbh = null; // release the connection ?> This script works, so PDO is actually installed and okay. Here is the startup error in the Apache error log: [Wed Jun 13 10:06:48 2007] [notice] Apache/2.0.59 (Win32) PHP/5.2.3 configured -- resuming normal operations [Wed Jun 13 10:06:48 2007] [notice] Server built: Jul 27 2006 15:55:03 [Wed Jun 13 10:06:48 2007] [notice] Parent: Created child process 3516 PHP Warning: PHP Startup: Invalid library (maybe not a PHP library) 'php_pdo_oci8.dll' in Unknown on line 0 [Wed Jun 13 10:07:01 2007] [notice] Child 3516: Child process is running [Wed Jun 13 10:07:01 2007] [notice] Child 3516: Acquired the start mutex. [Wed Jun 13 10:07:01 2007] [notice] Child 3516: Starting 250 worker threads. The files in my C:\Program Files\PHP\ext folder are: php_oci8.dll php_pdo.dll php_pdo_oci8.dll php_pdo_oci.dll The entries in my php.ini are: [PHP_OCI8] extension=php_oci8.dll [PHP_PDO] extension=php_pdo.dll [PHP_PDO_OCI] extension=php_pdo_oci.dll [PHP_PDO_OCI8] extension=php_pdo_oci8.dll Expected result: ---------------- No startup errors. Actual result: -------------- The following errors are displayed on Apache start up: PHP Startup: Invalid library (maybe not a PHP library) 'php_pdo_oci8.dll' PHP Startup: Invalid library (maybe not a PHP library) 'php_pdo_oci8.dll' ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=41676&edit=1