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

Reply via email to