PECL OCI8 2.0 Production Release Announcement
- by cj
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 any oci_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 a
    SELECT 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 that
    oci_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 and
    oci8.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