ID: 41676
Updated by: [EMAIL PROTECTED]
Reported By: alison dot holloway at oracle dot com
-Status: Assigned
+Status: Feedback
Bug Type: PDO related
Operating System: Windows XP SP2
PHP Version: 5.2.3
Assigned To: edink
New Comment:
So what do you propose, Alison?
Previous Comments:
------------------------------------------------------------------------
[2007-06-26 01:50:12] alison dot holloway at oracle dot com
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.
------------------------------------------------------------------------
[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