PECL OCI8 2.0 Production Release Announcement
Posted
by cj
on Oracle Blogs
See other posts from Oracle Blogs
or by cj
Published on Fri, 25 Oct 2013 00:18:04 +0000
Indexed on
2013/10/25
4:05 UTC
Read the original article
Hit count: 343
/php
The PHP OCI8 2.0.6 extension for Oracle Database is now "production" status. The source code is available on PECL. This can be used immediately to update your OCI8 extension in PHP 5.2 and later versions. The extension compiles with Oracle 10.2 or later client libraries. Oracle's standard cross-version database connectivity applies.
OCI8 2.0 and PHP 5.5.5 RPMs for Oracle and Red Hat Linux are available from oss.oracle.com. Windows DLLs are available on PECL for PHP 5.3, PHP 5.4 and PHP 5.5.
OCI8 2.0 source code will also be automatically included in the next major version of PHP.
New Functionality
-
Oracle Database 12c Implicit Result Set support. IRS's make it easy to pass query results back from stored PL/SQL procedures or anonymous PL/SQL blocks. Individual IRS statement resources, each corresponding to a single query, can be obtained with the new function
oci_get_implicit_resultset()
. These 'child' statement resources can be passed to anyoci_fetch_*
function. See Using PHP and Oracle Database 12c Implicit Result Sets and the PHP Manual: oci_get_implicit_resultset(). -
DTrace Dynamic Trace static probes. This well respected DTrace tracing framework is available on a number of platforms, including Oracle Linux. PHP OCI8 static user-space probes can be enabled with PHP's
--enable-dtrace
configuration option. See Using PHP DTrace on Oracle Linux. Documentation is also available in the PHP Manual OCI8 and DTrace Dynamic Tracing
Improved Functionality
Using
oci_execute($s, OCI_NO_AUTO_COMMIT)
for aSELECT
no longer unnecessarily initiates an internal ROLLBACK during connection close. This can improve overall scalability by reducing "round trips" between PHP and the database.
Changed Functionality
-
PHP OCI8 2.0's minimum pre-requisites are now PHP 5.2 and Oracle client library 10.2. Later versions of both are usable and, in fact, recommended. Use the older PHP OCI8 1.4.10 extension when using PHP 4.3.9 through to PHP 5.1.x, or when only Oracle Database 9.2 client libraries are available.
-
oci_set_*($connection, ...)
meta data setting call error handling is fixed so thatoci_error($connection)
works for these calls.
Note: The old, deprecated function aliases like
ocilogon
still exist but are not recommended for new
applications.
Phpinfo() Changes
Some cosmetic changes were made to the output of php --ri
oci8
and the phpinfo()
function.
-
The
oci8.event
andoci8.connection_class
values are now shown only when the Oracle client libraries support the respective functionality. -
Connection statistics are now in a separate
phpinfo()
table. -
Temporary LOB and Collection support status lines in
phpinfo()
output were removed. These two features have always been enabled since 2007.
Oci_internal_debug() Changes
-
The
oci_internal_debug()
function is now a no-op. Use PHP's--enable-dtrace
functionality with DTrace or SystemTap instead.
References
-
OCI8 Extension source code and Windows DLLs http://pecl.php.net/package/oci8
-
Oracle Linux RPMs oss.oracle.com
-
PHP Manual for OCI8 OCI8 and DTrace Dynamic Tracing
-
Oracle OpenWorld Conference paper What's New in Oracle Database 12c for PHP
© Oracle Blogs or respective owner