NCLOB support in OCI8

I'm currently developing a multilingual website with PHP and Oracle and I'm facing a problem concerning NCLOBs. I know that the "The Underground PHP and Oracle Manual" states that all NCHAR-related data types are not supported. However, apparently NCHAR and NVARCHAR2 do work just fine. So I'm wondering how up to date this information is. Anyway, the problem is that I can't write to NCLOB columns via OCI-Lob::write. The call succeeds and returns the number of chars written, but the column stays empty. Is there any hope I can get this to work? If not, is there another library that I could use to connect PHP with the database that supports NCLOBs?
I'm using the following code:
$s = oci_parse($dbc, "INSERT INTO trouble (xnclob) values (EMPTY_CLOB()) returning xnclob into :lob");
$lob = oci_new_descriptor($dbc);
oci_bind_by_name($s, "lob", $lob, -1, SQLT_CLOB);
$result = oci_execute($s, OCI_NO_AUTO_COMMIT);
$lob->write($data); // Succeeds, but column stays empty!
oci_commit($dbc);
The code seems to work fine with BLOBs and normal CLOBs. Out test server is running the following software:
CentOS 6.4 64-Bit
PHP 5.3.3
OCI8 1.4.9
Oracle 11g Release 2 XE
Thanks for the help in advance.
Best regards
David

The choices are (1) use UTF8 as the base character set and don't use
NCHAR/NVARCHAR/NCLOB or (2) submit patches to PHP OCI8 to add NCLOB
support or (3) use another language.
I wouldn't trust NCHAR/NVARCHAR to work consistently in PHP OCI8,
despite (or because of) there being automatic mapping to non N* types
in some cases.
I know you might be using XE 11.2 just for testing. However, if you
are targeting that edition for production use, the character set is
AL32UTF8 so there isn't a direct need to use NCHAR/NVARCHAR/NCLOB.
From Choosing a Character Set:
"Oracle recommends using SQL CHAR, VARCHAR2, and CLOB data types in [a] AL32UTF8
database to store Unicode character data. Use of SQL NCHAR,NVARCHAR2, and NCLOB
should be considered only if you must use a database whose database character set
is not AL32UTF8."
Regarding CentOS, I would recommend using Oracle Linux which is free
to download & install, has free patches etc, has a faster kernel than
RHEL available, and is the OS we test the DB on.  You can get it from
http://public-yum.oracle.com/
If possible target a newer version of PHP.  PHP 5.3 is in security
fix-only mode, and this will end soon.  I would recommend building
your own PHP, or using Zend Server (either the free or paid edition).
For new development, use PHP 5.5.

Similar Messages

  • NChar/NVarchar2/NClob support

    We are currently using single-byte character representation(WE8ISO8859P1 and WE8MSWIN1252) within the db and are wanting to try and keep it that way, so are looking at using the n* data types for handling strings that contain special characters outside the current character set. The kicker her is that we would also like to be able to Text index the fields within these data types.
    First off, anyone know why these data types are not supported within Oracle Text?
    Secondly, am I way off here in thinking this can be done or do we have no choice but to make the character set within the server be a unicode set?
    Finally, if there is a way to do this, could one point me in the direction of a document explaining how this can be done?
    Thanks a ton for your help,
    Dan

    The choices are (1) use UTF8 as the base character set and don't use
    NCHAR/NVARCHAR/NCLOB or (2) submit patches to PHP OCI8 to add NCLOB
    support or (3) use another language.
    I wouldn't trust NCHAR/NVARCHAR to work consistently in PHP OCI8,
    despite (or because of) there being automatic mapping to non N* types
    in some cases.
    I know you might be using XE 11.2 just for testing. However, if you
    are targeting that edition for production use, the character set is
    AL32UTF8 so there isn't a direct need to use NCHAR/NVARCHAR/NCLOB.
    From Choosing a Character Set:
    "Oracle recommends using SQL CHAR, VARCHAR2, and CLOB data types in [a] AL32UTF8
    database to store Unicode character data. Use of SQL NCHAR,NVARCHAR2, and NCLOB
    should be considered only if you must use a database whose database character set
    is not AL32UTF8."
    Regarding CentOS, I would recommend using Oracle Linux which is free
    to download & install, has free patches etc, has a faster kernel than
    RHEL available, and is the OS we test the DB on.  You can get it from
    http://public-yum.oracle.com/
    If possible target a newer version of PHP.  PHP 5.3 is in security
    fix-only mode, and this will end soon.  I would recommend building
    your own PHP, or using Zend Server (either the free or paid edition).
    For new development, use PHP 5.5.

  • NCLOB support-Urgent

    Hi,
    I have a client in oracle 8.1.7 and the server is in oracle 9.2.0.5. I have a function which returns an NCLOB datatype. I am able to successfully execute the function.
    I am getting an error when I use it in Business Objects as "ORA-03108: oranet: ORACLE does not support this interface version".
    I upgraded my Oracle client version to 9.2.0.1. But, even now I am getting the same error in Business Objects.
    Can anyone tell me whether it is a problem with Oracle or Business Objects?
    Is it still a problem that my Oracle version is different from my server's version?
    Thanks a lot for any help provided.
    Nachiketa Iyengar

    The choices are (1) use UTF8 as the base character set and don't use
    NCHAR/NVARCHAR/NCLOB or (2) submit patches to PHP OCI8 to add NCLOB
    support or (3) use another language.
    I wouldn't trust NCHAR/NVARCHAR to work consistently in PHP OCI8,
    despite (or because of) there being automatic mapping to non N* types
    in some cases.
    I know you might be using XE 11.2 just for testing. However, if you
    are targeting that edition for production use, the character set is
    AL32UTF8 so there isn't a direct need to use NCHAR/NVARCHAR/NCLOB.
    From Choosing a Character Set:
    "Oracle recommends using SQL CHAR, VARCHAR2, and CLOB data types in [a] AL32UTF8
    database to store Unicode character data. Use of SQL NCHAR,NVARCHAR2, and NCLOB
    should be considered only if you must use a database whose database character set
    is not AL32UTF8."
    Regarding CentOS, I would recommend using Oracle Linux which is free
    to download & install, has free patches etc, has a faster kernel than
    RHEL available, and is the OS we test the DB on.  You can get it from
    http://public-yum.oracle.com/
    If possible target a newer version of PHP.  PHP 5.3 is in security
    fix-only mode, and this will end soon.  I would recommend building
    your own PHP, or using Zend Server (either the free or paid edition).
    For new development, use PHP 5.5.

  • A TLOBLocator instance requires OCI8 mode, but OCI7 mode is used.

    We are looking to upgrade our 11.1.0.7.0 databases to 11.2.0.3 at some point. I have installed a test database to try our in-house applications. We are getting the about message in a Delphi Soap application which we do not get when using 11.1 database. Does anyone have any ideas what may be causing this?
    Thanks you for any help.

    user1850398 wrote:
    We are looking to upgrade our 11.1.0.7.0 databases to 11.2.0.3 at some point. I have installed a test database to try our in-house applications. We are getting the about message in a Delphi Soap application which we do not get when using 11.1 database. Does anyone have any ideas what may be causing this?
    Thanks you for any help.Full error stack?
    OCI is the Oracle Call Interface a client uses to communicate with the database. Obviously this changes from Oracle RDBMS version to RDBMS version as old features are deprecated and new features introduced.
    Delphi itself does/should not care - as it uses an abstract interface to talk to the database. E.g. the TDatabase, TQuery and other classes.
    These classes are in turn implemented (as I recall) on a BDE driver that talks OCI (Oracle), or Net-Star (Informix), or dbLib (Sybase/SQL-Server), etc. These classes however also support the ODBC interface.
    So in your case, I'm guessing you have:
    +Delphi Client | BDE driver | OCI client driver <--[tcp]--> RDBMS+
    It would seem that the BDE driver you are using for OCI connectivity, uses the older OCI7 call methods. And the actual OCI client driver installed does not support this. Replacing the OCI driver (Oracle client) with an older version means a OCI driver unable to use the database version you have.
    Two basic choices. Replace the BDE driver with one that supports the OCI8 interface version. Replace the BDE driver with an Oracle 11g ODBC driver.
    But I'm making a lot of assumptions here, as technical details are lacking. Posting the full error stack (with all errors) will make the picture more clear.
    Oh yes - a third option exist. Using the OCI directly from Delphi. The Free Pascal project (which supports Delphi Pascal) has OCI units - which in my experience is fairly easy to use. Granted, the OCI is a somewhat complex call interface, but the basics are pretty straightforward and sample C code from Oracle for using the OCI can be copy-and-pasted and used with a few syntax modifications.

  • Trouble with UTF-8 and PHP-OCI

    Hi there!
    I'm having some serious trouble with UTF-8. I just tried to insert a lambda into an NCLOB column in one of my databases and it was converted to an inverted question mark. I have verified that the string reaches my PHP script correctly encoded. Also selecting RAWTOHEX(column) in SQL Developer shows, that the inverted question mark is already stored in the column. So the problem must be somewhere between PHP-OCI and the database. Inserting a lambda via SQL developer works. I can also correctly fetch it via PHP.
    I'm using the latest PHP-OCI (2.0.8). v$version says "Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production".
    The database is fairly old and uses WE8MSWIN1252 as the character set and AL16UTF16 as the NCHAR character set. Hence I'm using NCLOB instead of CLOB. However, I connect to the database with AL32UTF8, since my app is running in UTF-8. I was under the impression that this would result in an automatic conversion from UTF-8 to UTF-16 when inserting into NCLOB columns, but apperently this is not the case. It looks like there is some sort of double conversion, first UTF-8 to WE8MSWIN1252 and then to UTF-16, because some non-ASCII characters like ä (a umlaut) get correctly converted from UTF-8 to UTF-16.
    Any ideas? I'm at a loss here. Thanks in advance.

    PHP OCI8 doesn't support NCLOB or NVARCHAR2.
    See NCLOB support in OCI8

  • PHP,MYSQL,ORACLE,APACHE issue?

    Hello All,
    In my oracle 10gr2 server that is build on rhel4, we have web based portal, now that web based portal connects to oracle and mysql, my problem is that, the developer told me that i have to install php4, apache2 with support of OCI8, i have tried every thing in google but unable to find, how can i do this, please help me out, thanks

    Some example guides show installing Apache as a non-root user just to avoid breaking production web servers when installing for the first time. A non-root user cannot start Apache on a privileged port like 80. Once you're familiar with the install process you can always install on the system default Apache or use 80 as the port number.
    The free, prebuilt PHP and Oracle-client stack called Zend Core for Oracle runs on x64. ZCO can be very easy to install. http://www.oracle.com/technology/tech/php/zendcore/index.html
    -- cj

  • PHP 5/Oracle 9i: invalid or unknown NLS parameter value error - Windows XP

    Details:
    Apache/1.3.33 (Win32) PHP/5.0.2
    Windows XP Pro Service Pack 1
    Oracle 9i (located remotely on Sun Solaris)
    Errors:
    Warning: ocilogon() [function.ocilogon]: OCISessionBegin: ORA-12705: invalid or unknown NLS parameter value specified in c:\program files\apache group\Apache\htdocs\eng\class\class.oci8hook.php on line 154
    Warning: ocilogon() [function.ocilogon]: ociopen_server: ORA-12560: TNS:protocol adapter error in c:\program files\apache group\Apache\htdocs\eng\class\class.oci8hook.php on line 154
    Unable to connect to database
    Question:
    How do I set-up the NLS parameters on Windows XP to see a remoted Oracle 9i database?
    Summary:
    I do have Oracle client loaded on my Windows XP workstation, plus when I run phpinfo() on my local workstation, I do have Oracle support enhabled:
    oci8:
    OCI8 Support: enabled
    Revision: $Revision: 1.257 $
    Active Persistent Links: 0
    Active Links: -6
    Temporary Lob support: enabled
    Collections support: enabled
    Oracle:
    Oracle Support: enabled
    Any suggestions or help would be greatly appreciated. Thank you for reading this post.

    user12009184 wrote:
    can anyone help me to resolve the problem.=================================
    Patience, Grasshopper
    You posted this follow-up a mere 30 minutes after your previous post.
    This forum is not a chat line, and it is not paid support.
    No one is responsible for monitoring it and giving a quick response.
    Furthermore, it is a global forum. The person with the information you seek may very well live 20 time zones away from you and was going to bed just as you posted. He will not even see your post for several more hours.
    Your original post went up in the middle of the night for half the world.
    No one with the information you seek is deliberately withholding it until you sound sufficiently desperate.

  • The Instant Client SDK on Linux was released today

    The 10.1.0.3 Linux Instant Client SDK was posted on OTN today. See
    http://www.oracle.com/technology/tech/oci/instantclient/instantclient.html
    You can now use Instant Client to compile PHP. You need to modify
    PHPs configuration scripts first. One suggested change is given in
    PHP bug http://bugs.php.net/bug.php?id=31084 The diff in the bug is a
    little awkwardly wrapped. Here it is again for ease of
    cutting/pasting. See the bug for the other instructions.
    -- CJ
    --- ext/oci8/config.m4.orig     2004-02-04 01:22:34.000000000 +1100
    +++ ext/oci8/config.m4     2004-12-14 18:36:21.000000000 +1100
    @@ -38,16 +38,46 @@
           OCI8_VERSION=8.1
         fi
       else
    -    AC_MSG_ERROR(Oracle-OCI8 needed libraries not found)
    +    AC_MSG_ERROR([Oracle (OCI8) required libraries not found])
       fi
       AC_MSG_RESULT($OCI8_VERSION)
    -PHP_ARG_WITH(oci8, for Oracle-OCI8 support,
    -[  --with-oci8[=DIR]       Include Oracle-oci8 support. Default DIR is ORACLE_HOME.])
    +AC_DEFUN(AC_OCI8IC_VERSION,[
    +  AC_MSG_CHECKING([Oracle Instant Client version])
    +  if test -f $PHP_OCI8_INSTANT_CLIENT/libociei.$SHLIB_SUFFIX_NAME; then
    +    if test -f $PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME.10.1; then
    +      if test ! -f $PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME; then
    +        AC_MSG_ERROR([Link from $PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME to libclntsh.$SHLIB_SUFFIX_NAME.10.1 not found])
    +      fi
    +      OCI8_VERSION=10.1
    +    else
    +      AC_MSG_ERROR([Oracle Instant Client library version not supported])
    +    fi
    +  else
    +    AC_MSG_ERROR([Oracle Instant Client libraries not found])
    +  fi
    +  AC_MSG_RESULT([$OCI8_VERSION])
    +])
    +
    +PHP_ARG_WITH(oci8, for Oracle (OCI8) support using ORACLE_HOME installation,
    +[  --with-oci8[[=DIR]]     Include Oracle (OCI8) support using an ORACLE_HOME
    +                        install. The default DIR is ORACLE_HOME])
    +
    +PHP_ARG_WITH(oci8-instant-client, for Oracle (OCI8) support using Oracle Instant Client,
    +[  --with-oci8-instant-client[[=DIR]]    Include Oracle (OCI8) support using
    +                        Oracle Instant Client. DIR is the directory with the
    +                        Instant Client libraries. On Linux it will default to
    +                        /usr/lib/oracle/<most_recent_version>/client/lib
    +                        Other platforms will need to have it explicitly specified.])
    if test "$PHP_OCI8" != "no"; then
    -  AC_MSG_CHECKING([Oracle Install-Dir])
    +
    +  if test "$PHP_OCI8_INSTANT_CLIENT" != "no"; then
    +    AC_MSG_ERROR([--with-oci8 and --with-oci8-instant-client are mutually exclusive])
    +  fi
    +
    +  AC_MSG_CHECKING([Oracle Install Directory])
       if test "$PHP_OCI8" = "yes"; then
         OCI8_DIR=$ORACLE_HOME
       else
    @@ -116,14 +146,18 @@
             -L$OCI8_DIR/lib $OCI8_SHARED_LIBADD
    +
         10.1)
           PHP_ADD_LIBRARY(clntsh, 1, OCI8_SHARED_LIBADD)
           PHP_ADD_LIBPATH($OCI8_DIR/lib, OCI8_SHARED_LIBADD)
           AC_DEFINE(HAVE_OCI8_ATTR_STATEMENT,1,[ ])
           AC_DEFINE(HAVE_OCI_9_2,1,[ ])
    +      AC_DEFINE(HAVE_OCI8_TEMP_LOB,1,[ ])
    +      AC_DEFINE(PHP_OCI8_HAVE_COLLECTIONS,1,[ ])
    +
    -      AC_MSG_ERROR(Unsupported Oracle version!)
    +      AC_MSG_ERROR([Unsupported Oracle version])
       esac
    @@ -145,10 +179,88 @@
         -L$OCI8_DIR/lib $OCI8_SHARED_LIBADD
    +  dnl
    +  dnl Check if we have collections
    +  dnl
    +  PHP_CHECK_LIBRARY(clntsh, OCICollAssign,
    +  [
    +    AC_DEFINE(PHP_OCI8_HAVE_COLLECTIONS,1,[ ])
    +  ], [], [
    +    -L$OCI8_DIR/lib $OCI8_SHARED_LIBADD
    +  ])
    +
    +
       PHP_NEW_EXTENSION(oci8, oci8.c, $ext_shared)
       AC_DEFINE(HAVE_OCI8,1,[ ])
       PHP_SUBST_OLD(OCI8_SHARED_LIBADD)
       PHP_SUBST_OLD(OCI8_DIR)
       PHP_SUBST_OLD(OCI8_VERSION)
    +
    +elif test "$PHP_OCI8_INSTANT_CLIENT" != "no"; then
    +
    +  AC_MSG_CHECKING([Oracle Instant Client directory])
    +  if test "$PHP_OCI8_INSTANT_CLIENT" = "yes"; then
    +dnl Generally the Instant Client can be anywhere so the user must pass in the
    +dnl directory to the libraries.  But on Linux we default to the most recent
    +dnl version in /usr/lib
    +    PHP_OCI8_INSTANT_CLIENT=`ls -d /usr/lib/oracle/*/client/lib  2> /dev/null | tail -1`
    +    if test -z "$PHP_OCI8_INSTANT_CLIENT"; then
    +      AC_MSG_ERROR([Oracle Instant Client directory not found. Try --with-oci8-instant-client=DIR])
    +    fi
    +  fi
    +  AC_MSG_RESULT($PHP_OCI8_INSTANT_CLIENT)
    +
    +  OCI8_DIR=$PHP_OCI8_INSTANT_CLIENT
    +
    +  AC_MSG_CHECKING([Oracle Instant Client SDK header directory])
    +
    +dnl Header directory for Instant Client SDK RPM install
    +  OCISDKRPMINC=`echo "$PHP_OCI8_INSTANT_CLIENT" | sed -e 's!^/usr/lib/oracle/\(.*\)/client/lib[[/]]*$!/usr/include/oracle/\1/client!'`
    +
    +dnl Header directory for Instant Client SDK zip file install
    +  OCISDKZIPINC=$PHP_OCI8_INSTANT_CLIENT/sdk/include
    +
    +  if test -f "$OCISDKRPMINC/oci.h"; then
    +    AC_MSG_RESULT($OCISDKRPMINC)
    +    PHP_ADD_INCLUDE($OCISDKRPMINC)
    +    OCI8INCDIR=$OCISDKRPMINC
    +  elif test -f "$OCISDKZIPINC/oci.h"; then
    +    AC_MSG_RESULT($OCISDKZIPINC)
    +    PHP_ADD_INCLUDE($OCISDKZIPINC)
    +    OCI8INCDIR=$OCISDKZIPINC
    +  else
    +    AC_MSG_ERROR([Oracle Instant Client SDK header files not found])
    +  fi
    +
    +  OCISYSLIBLIST=`echo "$OCI8INCDIR" | sed -e 's!\(.*\)/include$!\1/demo/sysliblist!'`
    +  if test -f "$OCISYSLIBLIST"; then
    +    PHP_EVAL_LIBLINE(`cat $OCISYSLIBLIST`, OCI8_SYSLIB)
    +  fi
    +
    +  AC_OCI8IC_VERSION($PHP_OCI8_INSTANT_CLIENT)
    +  case $OCI8_VERSION in
    +    10.1)
    +      PHP_ADD_LIBRARY(clntsh, 1, OCI8_SHARED_LIBADD)
    +      PHP_ADD_LIBPATH($PHP_OCI8_INSTANT_CLIENT, OCI8_SHARED_LIBADD)
    +      ;;
    +
    +    *)
    +      AC_MSG_ERROR([Unsupported Oracle Instant Client version])
    +      ;;
    +  esac
    +
    +  AC_DEFINE(HAVE_OCI8_ATTR_STATEMENT,1,[ ])
    +  AC_DEFINE(HAVE_OCI_9_2,1,[ ])
    +  AC_DEFINE(HAVE_OCI8_TEMP_LOB,1,[ ])
    +  AC_DEFINE(PHP_OCI8_HAVE_COLLECTIONS,1,[ ])
    +  AC_DEFINE(HAVE_OCI_INSTANT_CLIENT,1,[ ])
    +
    +  PHP_NEW_EXTENSION(oci8, oci8.c, $ext_shared)
    +  AC_DEFINE(HAVE_OCI8,1,[ ])
    +
    +  PHP_SUBST_OLD(OCI8_SHARED_LIBADD)
    +  PHP_SUBST_OLD(OCI8_DIR)
    +  PHP_SUBST_OLD(OCI8_VERSION)
    +
    fi

    I've just installed the 10.1.0.3 instant client basic and sdk and php-4.3.9 on a Mandrake 10 Linux system
    However I can`t patch the config.m4 file.
    patch -p0 config.m4 php_oci8ic_buildpatch
    patching file config.m4
    Hunk #1 FAILED at 38.
    Hunk #2 FAILED at 146.
    Hunk #3 FAILED at 179.
    3 out of 3 hunks FAILED -- saving rejects to file config.m4.rej
    config.m4.rej says:
    *** 38,53 ****
    OCI8_VERSION=8.1
    fi
    else
    - AC_MSG_ERROR(Oracle-OCI8 needed libraries not found)
    fi
    AC_MSG_RESULT($OCI8_VERSION)
    - PHP_ARG_WITH(oci8, for Oracle-OCI8 support,
    - [  --with-oci8[=DIR] Include Oracle-oci8 support. Default DIR is ORACLE_HOME.])
    if test "$PHP_OCI8" != "no"; then
    - AC_MSG_CHECKING([Oracle Install-Dir])
    if test "$PHP_OCI8" = "yes"; then
    OCI8_DIR=$ORACLE_HOME
    else
    --- 38,83 ----
    OCI8_VERSION=8.1
    fi
    else
    + AC_MSG_ERROR([Oracle (OCI8) required libraries not found])
    fi
    AC_MSG_RESULT($OCI8_VERSION)
    + AC_DEFUN(AC_OCI8IC_VERSION,[
    + AC_MSG_CHECKING([Oracle Instant Client version])
    + if test -f $PHP_OCI8_INSTANT_CLIENT/libociei.$SHLIB_SUFFIX_NAME; then
    + if test -f $PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME.10.1; then
    + if test ! -f $PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME; then
    + AC_MSG_ERROR([Link from $PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME to libclntsh.$SHLIB_SUFFIX_NAME.10.1 not found])
    + fi
    + OCI8_VERSION=10.1
    + else
    + AC_MSG_ERROR([Oracle Instant Client library version not supported])
    + fi
    + else
    + AC_MSG_ERROR([Oracle Instant Client libraries not found])
    + fi
    + AC_MSG_RESULT([$OCI8_VERSION])
    + ])
    +
    + PHP_ARG_WITH(oci8, for Oracle (OCI8) support using ORACLE_HOME installation,
    + [  --with-oci8[[=DIR]] Include Oracle (OCI8) support using an ORACLE_HOME
    + install. The default DIR is ORACLE_HOME])
    +
    + PHP_ARG_WITH(oci8-instant-client, for Oracle (OCI8) support using Oracle Instant Client,
    + [  --with-oci8-instant-client[[=DIR]] Include Oracle (OCI8) support using
    + Oracle Instant Client. DIR is the directory with the
    + Instant Client libraries. On Linux it will default to
    + /usr/lib/oracle/<most_recent_version>/client/lib
    + Other platforms will need to have it explicitly specified.])
    if test "$PHP_OCI8" != "no"; then
    +
    + if test "$PHP_OCI8_INSTANT_CLIENT" != "no"; then
    + AC_MSG_ERROR([--with-oci8 and --with-oci8-instant-client are mutually exclusive])
    + fi
    +
    + AC_MSG_CHECKING([Oracle Install Directory])
    if test "$PHP_OCI8" = "yes"; then
    OCI8_DIR=$ORACLE_HOME
    else
    *** 116,129 ****
    -L$OCI8_DIR/lib $OCI8_SHARED_LIBADD
    10.1)
    PHP_ADD_LIBRARY(clntsh, 1, OCI8_SHARED_LIBADD)
    PHP_ADD_LIBPATH($OCI8_DIR/lib, OCI8_SHARED_LIBADD)
    AC_DEFINE(HAVE_OCI8_ATTR_STATEMENT,1,[ ])
    AC_DEFINE(HAVE_OCI_9_2,1,[ ])
    - AC_MSG_ERROR(Unsupported Oracle version!)
    esac
    --- 146,163 ----
    -L$OCI8_DIR/lib $OCI8_SHARED_LIBADD
    +
    10.1)
    PHP_ADD_LIBRARY(clntsh, 1, OCI8_SHARED_LIBADD)
    PHP_ADD_LIBPATH($OCI8_DIR/lib, OCI8_SHARED_LIBADD)
    AC_DEFINE(HAVE_OCI8_ATTR_STATEMENT,1,[ ])
    AC_DEFINE(HAVE_OCI_9_2,1,[ ])
    + AC_DEFINE(HAVE_OCI8_TEMP_LOB,1,[ ])
    + AC_DEFINE(PHP_OCI8_HAVE_COLLECTIONS,1,[ ])
    +
    + AC_MSG_ERROR([Unsupported Oracle version])
    esac
    *** 145,154 ****
    -L$OCI8_DIR/lib $OCI8_SHARED_LIBADD
    PHP_NEW_EXTENSION(oci8, oci8.c, $ext_shared)
    AC_DEFINE(HAVE_OCI8,1,[ ])
    PHP_SUBST_OLD(OCI8_SHARED_LIBADD)
    PHP_SUBST_OLD(OCI8_DIR)
    PHP_SUBST_OLD(OCI8_VERSION)
    fi
    --- 179,266 ----
    -L$OCI8_DIR/lib $OCI8_SHARED_LIBADD
    + dnl
    + dnl Check if we have collections
    + dnl
    + PHP_CHECK_LIBRARY(clntsh, OCICollAssign,
    + [
    + AC_DEFINE(PHP_OCI8_HAVE_COLLECTIONS,1,[ ])
    + ], [], [
    + -L$OCI8_DIR/lib $OCI8_SHARED_LIBADD
    + ])
    +
    +
    PHP_NEW_EXTENSION(oci8, oci8.c, $ext_shared)
    AC_DEFINE(HAVE_OCI8,1,[ ])
    PHP_SUBST_OLD(OCI8_SHARED_LIBADD)
    PHP_SUBST_OLD(OCI8_DIR)
    PHP_SUBST_OLD(OCI8_VERSION)
    +
    + elif test "$PHP_OCI8_INSTANT_CLIENT" != "no"; then
    +
    + AC_MSG_CHECKING([Oracle Instant Client directory])
    + if test "$PHP_OCI8_INSTANT_CLIENT" = "yes"; then
    + dnl Generally the Instant Client can be anywhere so the user must pass in the
    + dnl directory to the libraries. But on Linux we default to the most recent
    + dnl version in /usr/lib
    + PHP_OCI8_INSTANT_CLIENT=`ls -d /usr/lib/oracle/*/client/lib 2> /dev/null | tail -1`
    + if test -z "$PHP_OCI8_INSTANT_CLIENT"; then
    + AC_MSG_ERROR([Oracle Instant Client directory not found. Try --with-oci8-instant-client=DIR])
    + fi
    + fi
    + AC_MSG_RESULT($PHP_OCI8_INSTANT_CLIENT)
    +
    + OCI8_DIR=$PHP_OCI8_INSTANT_CLIENT
    +
    + AC_MSG_CHECKING([Oracle Instant Client SDK header directory])
    +
    + dnl Header directory for Instant Client SDK RPM install
    + OCISDKRPMINC=`echo "$PHP_OCI8_INSTANT_CLIENT" | sed -e 's!^/usr/lib/oracle/\(.*\)/client/lib[[]]*$!/usr/include/oracle/\1/client!'`
    +
    + dnl Header directory for Instant Client SDK zip file install
    + OCISDKZIPINC=$PHP_OCI8_INSTANT_CLIENT/sdk/include
    +
    + if test -f "$OCISDKRPMINC/oci.h"; then
    + AC_MSG_RESULT($OCISDKRPMINC)
    + PHP_ADD_INCLUDE($OCISDKRPMINC)
    + OCI8INCDIR=$OCISDKRPMINC
    + elif test -f "$OCISDKZIPINC/oci.h"; then
    + AC_MSG_RESULT($OCISDKZIPINC)
    + PHP_ADD_INCLUDE($OCISDKZIPINC)
    + OCI8INCDIR=$OCISDKZIPINC
    + else
    + AC_MSG_ERROR([Oracle Instant Client SDK header files not found])
    + fi
    +
    + OCISYSLIBLIST=`echo "$OCI8INCDIR" | sed -e 's!\(.*\)/include$!\1/demo/sysliblist!'`
    + if test -f "$OCISYSLIBLIST"; then
    + PHP_EVAL_LIBLINE(`cat $OCISYSLIBLIST`, OCI8_SYSLIB)
    + fi
    +
    + AC_OCI8IC_VERSION($PHP_OCI8_INSTANT_CLIENT)
    + case $OCI8_VERSION in
    + 10.1)
    + PHP_ADD_LIBRARY(clntsh, 1, OCI8_SHARED_LIBADD)
    + PHP_ADD_LIBPATH($PHP_OCI8_INSTANT_CLIENT, OCI8_SHARED_LIBADD)
    + ;;
    +
    + *)
    + AC_MSG_ERROR([Unsupported Oracle Instant Client version])
    + ;;
    + esac
    +
    + AC_DEFINE(HAVE_OCI8_ATTR_STATEMENT,1,[ ])
    + AC_DEFINE(HAVE_OCI_9_2,1,[ ])
    + AC_DEFINE(HAVE_OCI8_TEMP_LOB,1,[ ])
    + AC_DEFINE(PHP_OCI8_HAVE_COLLECTIONS,1,[ ])
    + AC_DEFINE(HAVE_OCI_INSTANT_CLIENT,1,[ ])
    +
    + PHP_NEW_EXTENSION(oci8, oci8.c, $ext_shared)
    + AC_DEFINE(HAVE_OCI8,1,[ ])
    +
    + PHP_SUBST_OLD(OCI8_SHARED_LIBADD)
    + PHP_SUBST_OLD(OCI8_DIR)
    + PHP_SUBST_OLD(OCI8_VERSION)
    +
    fi
    How can i patch the config.m4 file??

  • Oracle 8i Release 3 (8.1.7)

    All,
    We have released Oracle 8i R3 to OTN today. This release includes a few more features than our 8.1.6 release.
    You need a system with glibc 2.1.3! Distributions based on glibc 2.1.3 are:
    Red Hat 6.2 and Red Hat 6.2 Enterprise Edition
    (you can update Red Hat 6.0 and 6.1 to glibc 2.1.3 - visit Red Hat's web site for information. http://www.redhat.com/support/errata/RHSA-2000-057-04.html )
    (Red Hat 7.0 is not supported at this time, we expect to have an update patch for 8.1.6.1 and 8.1.7 in the next few weeks.)
    SuSE 6.4 and SuSE 7.0
    (SuSE has an Oracle support area on their website: http://www.suse.com/us/solutions/partners/oracle/index.html
    TurboLinux 6.1
    What it does not have:
    JDBC 1.2 Support - You can use the java thin driver available here at OTN. Due to problems with Java 1.2.2 on Linux we can not support the OCI8 driver.
    Pro*COBOL - Possible release later in the year.
    What it has:
    interMedia Text Filter Support
    Enterprise Manager
    internet Directory
    Please download and read the release notes and installation guide before installing the software.
    ENJOY!
    Josue Amaro
    Linux Products Manager
    Oracle Corporation

    Hi,
    This can be solved by adding following environment variable in
    .bash_profile
    LD_ASSUME_KERNEL=2.2.5
    export LD_ASSUME_KERNEL
    After adding , just relogin as oracle user and run the installation. It will proceed without any problem. (If u get any linker error u need run the patch glibc2.1.3stubs.tar.gz file from OTN downloads).
    Bye
    In case of any problem, mail me at [email protected]
    With Regards,
    P.L. Kannan

  • Connecting..

    hi everyone.
    we're trying to start working with php in our site. First of all the details: Server IIS / Windows 2000, Oracle 8.1.7 and PHP 4.3.4.
    As i saw in the forum one of the common problems is trying to connect: we download the ADODb package which works kinda as a library in order to connect to diferent databases but it's not working and every error we get i doesn't seem to be one of the reported. i print here the output page we get when we execute:
    At first it seems to be a peroblem with the listener but it's ok so we cannot get it.
    Any help will be much appreciated.
    Warning: Unable to connect to ORACLE (Error while trying to retrieve text for error ORA-12154) in d:\inetpub\wwwroot\adodb\drivers\adodb-oracle.inc.php on line 123
    (oracle): select * from order_requests
    Warning: ora_open(): supplied argument is not a valid Oracle-Connection resource in d:\inetpub\wwwroot\adodb\drivers\adodb-oracle.inc.php on line 147
    Warning: ora_parse(): supplied argument is not a valid Oracle-Cursor resource in d:\inetpub\wwwroot\adodb\drivers\adodb-oracle.inc.php on line 151
    adodb_oracle._execute(select * from order_requests, false) % line 754, file: d:\inetpub\wwwroot\adodb\adodb.inc.php
    adodb_oracle.execute(select * from order_requests) % line 18, file: d:\inetpub\wwwroot\hola.php
    Fatal error: Call to a member function on a non-object in d:\inetpub\wwwroot\hola.php on line 20
    **********************************************************

    Warning: ora_open(): supplied argument is not a valid Oracle-Connection resource inFrom memory, it looks like you are using "oracle" as the driver.
    ADOdb supports the "oci8" but not the old OCI V7 "oracle" driver.
    All my examples are on a computer I can't access at the moment.
    Let us know if you still have problems using "oci8".
    -- CJ

  • Trouble adding regular oracle oci8 support to RPM, CentOs 5

    Hello,
    It seems that i'm missing smth simple while trying to add oci8 support to RPM.
    I took Christopher Jones's SRPM for 5.2.3 as a base, but since i don't have and don't need a support for instant client i modified latest available 5.1.6 SRPM from CentOS 5 repo.
    The compile env is :
    HOSTNAME=server.home
    SHELL=/bin/bash
    TERM=vt100
    HISTSIZE=1000
    OLDPWD=/root
    USER=root
    LD_LIBRARY_PATH=/u01/app/oracle/product/10.2.0/db_1/lib
    LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:
    TNS_ADMIN=/u01/app/oracle/product/10.2.0/db_1/network/admin
    MAIL=/var/spool/mail/root
    PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
    INPUTRC=/etc/inputrc
    PWD=/usr/src/redhat/SPECS
    LANG=en_US.UTF-8
    SHLVL=1
    HOME=/root
    LOGNAME=root
    LESSOPEN=|/usr/bin/lesspipe.sh %s
    ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
    G_BROKEN_FILENAMES=1
    _=/bin/envi compile as a root. Here is my spec file.
    %define contentdir /var/www
    %define apiver 20041225
    %define zendver 20050922
    %define pdover 20060409
    # AZ
    # Version of Instant Client RPM. [email protected] May 2007
    %define ociver 10.2.0.3
    # For testing OCI8 and PDO_OCI.  Use the password of the SYSTEM schema
    # and the connection string for the target
    # database. [email protected] May 2007
    %define oci8_test_system_password tiger
    %define oci8_test_connection_string localhost/lhome
    # Set oci8_test_local_db to TRUE when the Oracle DB is on the machine
    # building the RPMS.  Otherwise set it to FALSE.
    # [email protected] May 2007
    %define oci8_test_local_db TRUE
    #AZ
    Summary: The PHP HTML-embedded scripting language. (PHP: Hypertext Preprocessor)
    Name: php
    Version: 5.1.6
    Release: 15%{?dist}
    License: The PHP License v3.01
    Group: Development/Languages
    URL: http://www.php.net/
    Source0: http://www.php.net/distributions/php-%{version}.tar.gz
    Source50: php.conf
    Source51: php.ini
    Patch1: php-5.1.4-gnusrc.patch
    Patch2: php-5.1.4-warnings.patch
    Patch5: php-4.3.3-install.patch
    Patch6: php-5.0.4-norpath.patch
    Patch7: php-4.3.2-libtool15.patch
    Patch13: php-5.0.2-phpize64.patch
    Patch14: php-5.1.6-ecalloc.patch
    # Fixes for extension modules
    Patch21: php-4.3.1-odbc.patch
    Patch22: php-4.3.11-shutdown.patch
    # Functional changes
    Patch30: php-5.0.4-dlopen.patch
    Patch31: php-5.0.0-easter.patch
    # Fixes for tests
    Patch50: php-5.0.4-tests-dashn.patch
    Patch51: php-5.0.4-tests-wddx.patch
    # Security fixes
    Patch70: php-4.3.9-CVE-2006-5465.patch
    Patch71: php-5.1.6-CVE-2007-0906-imap.patch
    Patch72: php-4.3.9-CVE-2007-0906-strreplace.patch
    Patch73: php-4.3.9-CVE-2007-0907.patch
    Patch74: php-4.3.9-CVE-2007-0908.patch
    Patch75: php-4.3.9-CVE-2007-0909-odbc.patch
    Patch76: php-4.3.9-CVE-2007-0909-printf.patch
    Patch77: php-5.1.6-CVE-2007-0910.patch
    Patch78: php-4.3.9-CVE-2007-0988.patch
    Patch79: php-5.1.6-CVE-2007-1285.patch
    Patch80: php-5.1.6-CVE-2007-1583.patch
    Patch81: php-5.1.6-CVE-2007-0455.patch
    Patch82: php-5.1.6-CVE-2007-1001.patch
    Patch83: php-5.1.6-CVE-2007-1718.patch
    Patch84: php-5.1.6-CVE-2007-1864.patch
    Patch85: php-5.1.6-soapredir.patch
    Patch86: php-5.1.6-ftpcrlf.patch
    Patch87: php-5.1.6-CVE-2007-2872.patch
    Patch88: php-5.1.6-CVE-2007-4658.patch
    Patch89: php-5.1.6-CVE-2007-2756.patch
    Patch90: php-5.1.6-CVE-2007-3799.patch
    Patch91: php-5.1.6-CVE-2007-3996.patch
    Patch92: php-5.1.6-CVE-2007-4670.patch
    Patch93: php-5.1.6-CVE-2007-3998.patch
    BuildRoot: %{_tmppath}/%{name}-root
    BuildRequires: bzip2-devel, curl-devel >= 7.9, db4-devel, expat-devel
    BuildRequires: gmp-devel, aspell-devel >= 0.50.0
    BuildRequires: httpd-devel >= 2.0.46-1, libjpeg-devel, libpng-devel, pam-devel
    BuildRequires: libstdc++-devel, openssl-devel, sqlite-devel >= 3.0.0
    BuildRequires: zlib-devel, pcre-devel >= 4.5, smtpdaemon
    BuildRequires: bzip2, fileutils, file >= 4.0, perl, libtool >= 1.4.3, gcc-c++
    Obsoletes: php-dbg, php3, phpfi, stronghold-php
    # Enforce Apache module ABI compatibility
    Requires: httpd-mmn = %(cat %{_includedir}/httpd/.mmn || echo missing-httpd-devel)
    Requires: file >= 4.0
    Provides: mod_php = %{version}-%{release}
    Requires: php-common = %{version}-%{release}
    # For backwards-compatibility, require php-cli for the time being:
    Requires: php-cli = %{version}-%{release}
    %description
    PHP is an HTML-embedded scripting language. PHP attempts to make it
    easy for developers to write dynamically generated webpages. PHP also
    offers built-in database integration for several commercial and
    non-commercial database management systems, so writing a
    database-enabled webpage with PHP is fairly simple. The most common
    use of PHP coding is probably as a replacement for CGI scripts.
    The php package contains the module which adds support for the PHP
    language to Apache HTTP Server.
    %package cli
    Group: Development/Languages
    Summary: Command-line interface for PHP
    Requires: php-common = %{version}-%{release}
    Provides: php-cgi = %{version}-%{release}
    Provides: php-pcntl
    %description cli
    The php-cli package contains the command-line interface
    executing PHP scripts, /usr/bin/php, and the CGI interface.
    %package common
    Group: Development/Languages
    Summary: Common files for PHP
    Provides: php-api = %{apiver}, php-zend-abi = %{zendver}
    # Provides for all builtin modules:
    Provides: php-bz2, php-calendar, php-ctype, php-curl, php-date, php-exif
    Provides: php-ftp, php-gettext, php-gmp, php-hash, php-iconv, php-libxml
    Provides: php-mime_magic, php-openssl, php-pcre, php-posix, php-pspell
    Provides: php-reflection, php-session, php-shmop, php-simplexml, php-sockets
    Provides: php-spl, php-sysvsem, php-sysvshm, php-sysvmsg, php-tokenizer
    Provides: php-wddx, php-zlib
    #AZ
    Provides: php-oci
    #AZ
    Obsoletes: php-openssl
    %description common
    The php-common package contains files used by both the php
    package and the php-cli package.
    %package devel
    Group: Development/Libraries
    Summary: Files needed for building PHP extensions.
    Requires: php = %{version}-%{release}, autoconf, automake
    Obsoletes: php-pecl-pdo-devel
    %description devel
    The php-devel package contains the files needed for building PHP
    extensions. If you need to compile your own PHP extensions, you will
    need to install this package.
    %package imap
    Summary: A module for PHP applications that use IMAP.
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}
    Obsoletes: mod_php3-imap, stronghold-php-imap
    BuildRequires: krb5-devel, openssl-devel, libc-client-devel
    %description imap
    The php-imap package contains a dynamic shared object (DSO) for the
    Apache Web server. When compiled into Apache, the php-imap module will
    add IMAP (Internet Message Access Protocol) support to PHP. IMAP is a
    protocol for retrieving and uploading e-mail messages on mail
    servers. PHP is an HTML-embedded scripting language. If you need IMAP
    support for PHP applications, you will need to install this package
    and the php package.
    %package ldap
    Summary: A module for PHP applications that use LDAP.
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}
    Obsoletes: mod_php3-ldap, stronghold-php-ldap
    BuildRequires: cyrus-sasl-devel, openldap-devel, openssl-devel
    %description ldap
    The php-ldap package is a dynamic shared object (DSO) for the Apache
    Web server that adds Lightweight Directory Access Protocol (LDAP)
    support to PHP. LDAP is a set of protocols for accessing directory
    services over the Internet. PHP is an HTML-embedded scripting
    language. If you need LDAP support for PHP applications, you will
    need to install this package in addition to the php package.
    %package pdo
    Summary: A database access abstraction module for PHP applications
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}
    Obsoletes: php-pecl-pdo-sqlite, php-pecl-pdo
    Provides: php-pdo-abi = %{pdover}
    %description pdo
    The php-pdo package contains a dynamic shared object that will add
    a database access abstraction layer to PHP.  This module provides
    a common interface for accessing MySQL, PostgreSQL or other
    databases.
    %package mysql
    Summary: A module for PHP applications that use MySQL databases.
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}, php-pdo
    Provides: php_database, php-mysqli
    Obsoletes: mod_php3-mysql, stronghold-php-mysql
    BuildRequires: mysql-devel >= 4.1.0
    %description mysql
    The php-mysql package contains a dynamic shared object that will add
    MySQL database support to PHP. MySQL is an object-relational database
    management system. PHP is an HTML-embeddable scripting language. If
    you need MySQL support for PHP applications, you will need to install
    this package and the php package.
    %package pgsql
    Summary: A PostgreSQL database module for PHP.
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}, php-pdo
    Provides: php_database
    Obsoletes: mod_php3-pgsql, stronghold-php-pgsql
    BuildRequires: krb5-devel, openssl-devel, postgresql-devel
    %description pgsql
    The php-pgsql package includes a dynamic shared object (DSO) that can
    be compiled in to the Apache Web server to add PostgreSQL database
    support to PHP. PostgreSQL is an object-relational database management
    system that supports almost all SQL constructs. PHP is an
    HTML-embedded scripting language. If you need back-end support for
    PostgreSQL, you should install this package in addition to the main
    php package.
    #AZ
    # Added oci8.  [email protected] May 2007
    %package oci8
    Summary: A module for PHP applications using the Oracle database
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}, php-pdo
    #BuildRequires: oracle-instantclient-devel = %{ociver}
    Provides: php_database, php-oci
    AutoReqProv: No
    %description oci8
    The php-oci8 package contains a dynamic shared object (DSO) for the
    Apache Web server. When compiled into Apache, the php-oci8 module will
    add OCI8 support to PHP. OCI8 is an extension for Oracle Database
    access.  PHP is an HTML-embedded scripting language. If you need
    Oracle support for PHP applications, you can install this package and
    the php package.
    This package also contains PDO_OCI for use with the PDO extension.
    #AZ
    %package odbc
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}, php-pdo
    Summary: A module for PHP applications that use ODBC databases.
    Provides: php_database
    Obsoletes: stronghold-php-odbc
    BuildRequires: unixODBC-devel
    %description odbc
    The php-odbc package contains a dynamic shared object that will add
    database support through ODBC to PHP. ODBC is an open specification
    which provides a consistent API for developers to use for accessing
    data sources (which are often, but not always, databases). PHP is an
    HTML-embeddable scripting language. If you need ODBC support for PHP
    applications, you will need to install this package and the php
    package.
    %package soap
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}
    Summary: A module for PHP applications that use the SOAP protocol
    BuildRequires: libxml2-devel
    %description soap
    The php-soap package contains a dynamic shared object that will add
    support to PHP for using the SOAP web services protocol.
    %package snmp
    Summary: A module for PHP applications that query SNMP-managed devices.
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}, net-snmp
    BuildRequires: net-snmp-devel
    %description snmp
    The php-snmp package contains a dynamic shared object that will add
    support for querying SNMP devices to PHP.  PHP is an HTML-embeddable
    scripting language. If you need SNMP support for PHP applications, you
    will need to install this package and the php package.
    %package xml
    Summary: A module for PHP applications which use XML
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}
    Obsoletes: php-domxml, php-dom
    Provides: php-dom, php-xsl, php-domxml
    BuildRequires: libxslt-devel >= 1.0.18-1, libxml2-devel >= 2.4.14-1
    %description xml
    The php-xml package contains dynamic shared objects which add support
    to PHP for manipulating XML documents using the DOM tree,
    and performing XSL transformations on XML documents.
    %package xmlrpc
    Summary: A module for PHP applications which use the XML-RPC protocol
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}
    BuildRequires: expat-devel
    %description xmlrpc
    The php-xmlrpc package contains a dynamic shared object that will add
    support for the XML-RPC protocol to PHP.
    %package mbstring
    Summary: A module for PHP applications which need multi-byte string handling
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}
    %description mbstring
    The php-mbstring package contains a dynamic shared object that will add
    support for multi-byte string handling to PHP.
    %package ncurses
    Summary: A module for PHP applications for using ncurses interfaces
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}
    BuildRequires: ncurses-devel
    %description ncurses
    The php-ncurses package contains a dynamic shared object that will add
    support for using the ncurses terminal output interfaces.
    %package gd
    Summary: A module for PHP applications for using the gd graphics library
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}
    BuildRequires: gd-devel, freetype-devel
    %description gd
    The php-gd package contains a dynamic shared object that will add
    support for using the gd graphics library to PHP.
    %package bcmath
    Summary: A module for PHP applications for using the bcmath library
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}
    %description bcmath
    The php-bcmath package contains a dynamic shared object that will add
    support for using the bcmath library to PHP.
    %package dba
    Summary: A database abstraction layer module for PHP applications
    Group: Development/Languages
    Requires: php-common = %{version}-%{release}
    %description dba
    The php-dba package contains a dynamic shared object that will add
    support for using the DBA database abstraction layer to PHP.
    %prep
    %setup -q
    %patch1 -p1 -b .gnusrc
    %patch2 -p1 -b .warnings
    %patch5 -p1 -b .install
    %patch6 -p1 -b .norpath
    %patch7 -p1 -b .libtool15
    %patch13 -p1 -b .phpize64
    %patch14 -p1 -b .ecalloc
    %patch21 -p1 -b .odbc
    %patch22 -p1 -b .shutdown
    %patch30 -p1 -b .dlopen
    %patch31 -p1 -b .easter
    %patch50 -p1 -b .tests-dashn
    %patch51 -p1 -b .tests-wddx
    %patch70 -p1 -b .cve5465
    %patch71 -p1 -b .cve0906-imap
    %patch72 -p1 -b .cve0906-strreplace
    %patch73 -p1 -b .cve0907
    %patch74 -p1 -b .cve0908
    %patch75 -p1 -b .cve0909-odbc
    %patch76 -p1 -b .cve0909-printf
    %patch77 -p1 -b .cve0910
    %patch78 -p1 -b .cve0988
    %patch79 -p1 -b .cve1285
    %patch80 -p1 -b .cve1583
    %patch81 -p1 -b .cve0455
    %patch82 -p1 -b .cve1001
    %patch83 -p1 -b .cve1718
    %patch84 -p1 -b .cve1864
    %patch85 -p1 -b .soapredir
    %patch86 -p1 -b .ftpcrlf
    %patch87 -p1 -b .cve2872
    %patch88 -p1 -b .cve4658
    %patch89 -p1 -b .cve2756
    %patch90 -p1 -b .cve3799
    %patch91 -p1 -b .cve3996
    %patch92 -p1 -b .cve4670
    %patch93 -p1 -b .cve3998
    # Prevent %%doc confusion over LICENSE files
    cp Zend/LICENSE Zend/ZEND_LICENSE
    cp TSRM/LICENSE TSRM_LICENSE
    cp regex/COPYRIGHT regex_COPYRIGHT
    cp ext/gd/libgd/README gd_README
    # Source is built twice: once for /usr/bin/php, once for the Apache DSO.
    mkdir build-cgi build-apache
    # Remove bogus test; position of read position after fopen(, "a+")
    # is not defined by C standard, so don't presume anything.
    rm -f ext/standard/tests/file/bug21131.phpt
    # Tests that fail.
    rm -f ext/standard/tests/file/bug22414.phpt \
          ext/iconv/tests/bug16069.phpt
    #AZ
    # Tests that fail.
    rm -f ext/oci8/tests/bug27303.phpt \
            ext/oci8/tests/bug27303_2.phpt \
            ext/oci8/tests/bug27303_4.phpt
    # OCI8 config file. [email protected] May 2007
    cat <<EOF > ext/oci8/tests/details.inc
    <?php
    * Please, change user, password and dbase to match your configuration.
    \$user       = "scott";
    \$password   = "%{oci8_test_system_password}";
    \$dbase      = "%{oci8_test_connection_string}";
    /* Set this variable to TRUE if Oracle is installed @ localhost */
    \$oracle_on_localhost = %{oci8_test_local_db};
    ?>
    EOF
    #AZ
    # Safety check for API version change.
    vapi=`sed -n '/#define PHP_API_VERSION/{s/.* //;p}' main/php.h`
    if test "x${vapi}" != "x%{apiver}"; then
       : Error: Upstream API version is now ${vapi}, expecting %{apiver}.
       : Update the apiver macro and rebuild.
       exit 1
    fi
    # Safety check for Zend API version change.
    vzend=`sed -n '/#define ZEND_MODULE_API_NO/{s/^[^0-9]*//;p;}' Zend/zend_modules.h`
    if test "x${vzend}" != "x%{zendver}"; then
       : Error: Upstream Zend module ABI version is now ${vzend}, expecting %{zendver}.
       : Update the zendver macro and rebuild.
       exit 1
    fi
    # Safety check for PDO ABI version change
    vpdo=`sed -n '/#define PDO_DRIVER_API/{s/.*[    ]//;p}' ext/pdo/php_pdo_driver.h`
    if test "x${vpdo}" != "x%{pdover}"; then
       : Error: Upstream PDO ABI version is now ${vpdo}, expecting %{pdover}.
       : Update the pdover macro and rebuild.
       exit 1
    fi
    %build
    # Force use of system libtool:
    libtoolize force copy
    cat `aclocal --print-ac-dir`/libtool.m4 > build/libtool.m4
    # Regenerate configure scripts (patches change config.m4's)
    ./buildconf --force
    CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -Wno-pointer-sign"
    CPPFLAGS="-DLDAP_DEPRECATED=1"
    export CFLAGS CPPFLAGS
    # Install extension modules in %{_libdir}/php/modules.
    EXTENSION_DIR=%{_libdir}/php/modules; export EXTENSION_DIR
    # Set PEAR_INSTALLDIR to ensure that the hard-coded include_path
    # includes the PEAR directory even though pear is packaged
    # separately.
    PEAR_INSTALLDIR=%{_datadir}/pear; export PEAR_INSTALLDIR
    # Shell function to configure and build a PHP tree.
    build() {
    # bison-1.875-2 seems to produce a broken parser; workaround.
    mkdir Zend && cp ../Zend/zend_{language,ini}_{parser,scanner}.[ch] Zend
    ln -sf ../configure
    %configure \
            --cache-file=../config.cache \
            --with-libdir=%{_lib} \
            --with-config-file-path=%{_sysconfdir} \
            --with-config-file-scan-dir=%{_sysconfdir}/php.d \
            --disable-debug \
            --with-pic \
            --disable-rpath \
            --without-pear \
            --with-bz2 \
            --with-curl \
            --with-exec-dir=%{_bindir} \
            --with-freetype-dir=%{_prefix} \
            --with-png-dir=%{_prefix} \
            --enable-gd-native-ttf \
            --without-gdbm \
            --with-gettext \
            --with-gmp \
            --with-iconv \
            --with-jpeg-dir=%{_prefix} \
            --with-openssl \
            --with-png \
            --with-pspell \
            --with-expat-dir=%{_prefix} \
            --with-pcre-regex=%{_prefix} \
            --with-zlib \
            --with-layout=GNU \
            --enable-exif \
            --enable-ftp \
            --enable-magic-quotes \
            --enable-sockets \
            enable-sysvsem enable-sysvshm --enable-sysvmsg \
            --enable-track-vars \
            --enable-trans-sid \
            --enable-yp \
            --enable-wddx \
            --with-kerberos \
            --enable-ucd-snmp-hack \
            --with-unixODBC=shared,%{_prefix} \
            --enable-memory-limit \
            --enable-shmop \
            --enable-calendar \
            --enable-dbx \
            --enable-dio \
            --with-mime-magic=%{_sysconfdir}/httpd/conf/magic \
            --without-sqlite \
            --with-libxml-dir=%{_prefix} \
            --with-oci8=$ORACLE_HOME \
            --with-apxs2=/usr/sbin/apxs \
            --with-xml \
            $*
    if test $? != 0; then
      tail -500 config.log
      : configure failed
      exit 1
    fi
    make %{?_smp_mflags}
    # Build /usr/bin/php-cgi with the CGI SAPI, and all the shared extensions
    pushd build-cgi
    build --enable-force-cgi-redirect \
          --enable-pcntl \
          with-imap=shared with-imap-ssl \
          enable-mbstring=shared enable-mbstr-enc-trans \
          --enable-mbregex \
          --with-ncurses=shared \
          --with-gd=shared \
          --enable-bcmath=shared \
          enable-dba=shared with-db4=%{_prefix} \
          --with-xmlrpc=shared \
          --with-ldap=shared \
          --with-mysql=shared,%{_prefix} \
          --with-mysqli=shared,%{_bindir}/mysql_config \
          --enable-dom=shared \
          --with-dom-xslt=%{_prefix} --with-dom-exslt=%{_prefix} \
          --with-pgsql=shared \
          --with-snmp=shared,%{_prefix} \
          --enable-soap=shared \
          --with-xsl=shared,%{_prefix} \
          enable-xmlreader=shared enable-xmlwriter=shared \
          --enable-fastcgi \
          --enable-pdo=shared \
          --with-pdo-odbc=shared,unixODBC,%{_prefix} \
          --with-pdo-mysql=shared,%{_prefix} \
          --with-pdo-pgsql=shared,%{_prefix} \
          --with-pdo-sqlite=shared,%{_prefix} \
    #      --with-pdo-oci=shared,$ORACLE_HOME \
          --with-oci8 \
           --enable-sigchild
    popd
    # Build Apache module, and the CLI SAPI, /usr/bin/php
    pushd build-apache
    build --with-apxs2=%{_sbindir}/apxs \
          without-mysql without-gd \
          without-odbc disable-dom \
          disable-dba without-unixODBC \
          disable-pdo disable-xmlreader --disable-xmlwriter
    popd
    %check
    cd build-apache
    # Run tests, using the CLI SAPI
    export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
    unset TZ LANG LC_ALL
    #AZ
    # Allows PDO_OCI tests to connect.  [email protected] May 2007
    #export PDO_OCI_TEST_DSN=oci:dbname=%{oci8_test_connection_string}
    #export PDO_OCI_TEST_USER=scott
    #export PDO_OCI_TEST_PASS=%{oci8_test_system_password}
    #AZ
    if ! make test; then
      set +x
      for f in `find .. -name \*.diff -type f -print`; do
        echo "TEST FAILURE: $f --"
        cat "$f"
        echo "-- $f result ends."
      done
      set -x
      #exit 1
    fi
    unset NO_INTERACTION REPORT_EXIT_STATUS MALLOC_CHECK_
    %install
    [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
    # Install everything from the CGI SAPI build
    pushd build-cgi
    make install INSTALL_ROOT=$RPM_BUILD_ROOT
    mv $RPM_BUILD_ROOT%{_bindir}/php $RPM_BUILD_ROOT%{_bindir}/php-cgi
    # Install the CLI SAPI as /usr/bin/php
    make install-cli INSTALL_ROOT=$RPM_BUILD_ROOT
    popd
    # Install the Apache module
    pushd build-apache
    make install-sapi INSTALL_ROOT=$RPM_BUILD_ROOT
    popd
    # Install the default configuration file and icons
    install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/
    install -m 644 $RPM_SOURCE_DIR/php.ini $RPM_BUILD_ROOT%{_sysconfdir}/php.ini
    install -m 755 -d $RPM_BUILD_ROOT%{contentdir}/icons
    install -m 644    *.gif $RPM_BUILD_ROOT%{contentdir}/icons/
    # For PEAR packaging:
    install -m 755 -d $RPM_BUILD_ROOT%{_libdir}/php/pear
    # Use correct libdir
    sed -i -e 's|%{_prefix}/lib|%{_libdir}|' $RPM_BUILD_ROOT%{_sysconfdir}/php.ini
    # install the DSO
    install -m 755 -d $RPM_BUILD_ROOT%{_libdir}/httpd/modules
    install -m 755 build-apache/libs/libphp5.so $RPM_BUILD_ROOT%{_libdir}/httpd/modules
    # Apache config fragment
    install -m 755 -d $RPM_BUILD_ROOT/etc/httpd/conf.d
    install -m 644 $RPM_SOURCE_DIR/php.conf $RPM_BUILD_ROOT/etc/httpd/conf.d
    install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/php.d
    install -m 755 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/php
    install -m 700 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/php/session
    # Generate files lists and stub .ini files for each subpackage
    #AZ
    for mod in oci8 pgsql mysql mysqli odbc ldap snmp xmlrpc imap \
        mbstring ncurses gd dom xsl soap bcmath dba xmlreader xmlwriter \
        pdo pdo_mysql pdo_pgsql pdo_odbc pdo_sqlite; do
    #AZ
        cat > $RPM_BUILD_ROOT%{_sysconfdir}/php.d/${mod}.ini <<EOF
    ; Enable ${mod} extension module
    extension=${mod}.so
    EOF
        cat > files.${mod} <<EOF
    %attr(755,root,root) %{_libdir}/php/modules/${mod}.so
    %config(noreplace) %attr(644,root,root) %{_sysconfdir}/php.d/${mod}.ini
    EOF
    done
    # The dom, xsl and xml* modules are all packaged in php-xml
    cat files.dom files.xsl files.xml{reader,writer} > files.xml
    # The mysql and mysqli modules are both packaged in php-mysql
    cat files.mysqli >> files.mysql
    # Split out the PDO modules
    #AZ
    cat files.pdo_oci >> files.oci8
    #AZ
    cat files.pdo_mysql >> files.mysql
    cat files.pdo_pgsql >> files.pgsql
    cat files.pdo_odbc >> files.odbc
    # Package pdo_sqlite with pdo; isolating the sqlite dependency
    # isn't useful at this time since rpm itself requires sqlite.
    cat files.pdo_sqlite >> files.pdo
    # Remove unpackaged files
    rm -rf $RPM_BUILD_ROOT%{_libdir}/php/modules/*.a \
           $RPM_BUILD_ROOT%{_bindir}/{phptar} \
           $RPM_BUILD_ROOT%{_datadir}/pear
    # Remove irrelevant docs
    rm -f README.{Zeus,QNX,CVS-RULES}
    %clean
    [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
    rm files.*
    %files
    %defattr(-,root,root)
    %{_libdir}/httpd/modules/libphp5.so
    %attr(0770,root,apache) %dir %{_localstatedir}/lib/php/session
    %config %{_sysconfdir}/httpd/conf.d/php.conf
    %{contentdir}/icons/php.gif
    %files common
    %defattr(-,root,root)
    %doc CODING_STANDARDS CREDITS EXTENSIONS INSTALL LICENSE NEWS README*
    %doc Zend/ZEND_* gd_README TSRM_LICENSE regex_COPYRIGHT
    %config %{_sysconfdir}/php.ini
    %dir %{_sysconfdir}/php.d
    %dir %{_libdir}/php
    %dir %{_libdir}/php/modules
    %dir %{_localstatedir}/lib/php
    %dir %{_libdir}/php/pear
    %files cli
    %defattr(-,root,root)
    %{_bindir}/php
    %{_bindir}/php-cgi
    %{_mandir}/man1/php.1*
    %files devel
    %defattr(-,root,root)
    %{_bindir}/php-config
    %{_bindir}/phpize
    %{_includedir}/php
    %{_libdir}/php/build
    %{_mandir}/man1/php-config.1*
    %{_mandir}/man1/phpize.1*
    %files pgsql -f files.pgsql
    %files mysql -f files.mysql
    %files odbc -f files.odbc
    %files imap -f files.imap
    %files ldap -f files.ldap
    %files snmp -f files.snmp
    %files xml -f files.xml
    %files xmlrpc -f files.xmlrpc
    %files mbstring -f files.mbstring
    %files ncurses -f files.ncurses
    %files gd -f files.gd
    %files soap -f files.soap
    %files bcmath -f files.bcmath
    %files dba -f files.dba
    %files pdo -f files.pdo
    #AZ
    %files oci8 -f files.oci8
    #AZ
    %changelog
    * Wed Sep 12 2007 Joe Orton <[email protected]> 5.1.6-15.el5
    - improve fix for CVE-2007-3997 (#278411)
    * Fri Sep  7 2007 Joe Orton <[email protected]> 5.1.6-14.el5
    - fix backport for CVE-2007-3996 (#278411)
    * Thu Sep  6 2007 Joe Orton <[email protected]> 5.1.6-13.el5
    - add security fixes for CVE-2007-2756, CVE-2007-2872,
      CVE-2007-3799, CVE-2007-3996, CVE-2007-3998, CVE-2007-4658,
      CVE-2007-4670 (#278411)
    * Wed Apr  4 2007 Joe Orton <[email protected]> 5.1.6-12.el5
    - add security fix for CVE-2007-1864, SOAP redirect handling issue,
      FTP CRLF injection issue (#235016)
    * Wed Apr  4 2007 Joe Orton <[email protected]> 5.1.6-11.el5
    - add security fix for CVE-2007-1718 (#235016)
    * Tue Apr  3 2007 Joe Orton <[email protected]> 5.1.6-9.el5
    - add security fix for CVE-2007-1583 (#235016)
    - add security fixes for CVE-2007-0455, CVE-2007-1001 (#235036)
    * Fri Mar  9 2007 Joe Orton <[email protected]> 5.1.6-7.el5
    - add security fix for CVE-2007-1285 (#231597)
    * Fri Feb 16 2007 Joe Orton <[email protected]> 5.1.6-6.el5
    - add security fixes for: CVE-2007-0906, CVE-2007-0907,
      CVE-2007-0908, CVE-2007-0909, CVE-2007-0910, CVE-2007-0988 (#229013)
    * Tue Dec 19 2006 Joe Orton <[email protected]> 5.1.6-5.el5
    - fix version for php-zend-abi (#218758)
    * Thu Nov 23 2006 Joe Orton <[email protected]> 5.1.6-4.el5
    - php-xml provides php-domxml (#215656)
    - fix php-pdo-abi provide (#214281)
    - provide php-zend-abi (#212804)
    - don't Obsolete mod_php
    - fix PDO sqlite TEXT extraction truncate-by-one (#217033)
    - package php{ize,-config} man pages in -devel (#199382)
    - change module subpackages to require php-common not php (#177821)
    - add security fix for CVE-2006-5465 (#216114)
    * Wed Oct  4 2006 Joe Orton <[email protected]> 5.1.6-3
    - from upstream: add safety checks against integer overflow in _ecalloc
    * Tue Aug 29 2006 Joe Orton <[email protected]> 5.1.6-2
    - update to 5.1.6 (security fixes)
    - bump default memory_limit to 16M (#196802)
    * Wed Jul 12 2006 Jesse Keating <[email protected]> - 5.1.4-8.1
    - rebuild
    * Fri Jun  9 2006 Joe Orton <[email protected]> 5.1.4-8
    - Provide php-posix (#194583)
    - only provide php-pcntl from -cli subpackage
    - add missing defattr's (thanks to Matthias Saou)
    * Fri Jun  9 2006 Joe Orton <[email protected]> 5.1.4-7
    - move Obsoletes for php-openssl to -common (#194501)
    - Provide: php-cgi from -cli subpackage
    * Fri Jun  2 2006 Joe Orton <[email protected]> 5.1.4-6
    - split out php-cli, php-common subpackages (#177821)
    - add php-pdo-abi version export (#193202)
    * Wed May 24 2006 Radek Vokal <[email protected]> 5.1.4-5.1
    - rebuilt for new libnetsnmp
    * Thu May 18 2006 Joe Orton <[email protected]> 5.1.4-5
    - provide mod_php (#187891)
    - provide php-cli (#192196)
    - use correct LDAP fix (#181518)
    - define GNUSOURCE in php_config.h and leave it defined
    - drop (circular) dependency on php-pear
    * Mon May  8 2006 Joe Orton <[email protected]> 5.1.4-3
    - update to 5.1.4
    * Wed May  3 2006 Joe Orton <[email protected]> 5.1.3-3
    - update to 5.1.3
    * Tue Feb 28 2006 Joe Orton <[email protected]> 5.1.2-5
    - provide php-api (#183227)
    - add provides for all builtin modules (Tim Jackson, #173804)
    - own %%{_libdir}/php/pear for PEAR packages (per #176733)
    - add obsoletes to allow upgrade from FE4 PDO packages (#181863)
    * Fri Feb 10 2006 Jesse Keating <[email protected]> - 5.1.2-4.3
    - bump again for double-long bug on ppc(64)
    * Tue Feb 07 2006 Jesse Keating <[email protected]> - 5.1.2-4.1
    - rebuilt for new gcc4.1 snapshot and glibc changes
    * Tue Jan 31 2006 Joe Orton <[email protected]> 5.1.2-4
    - rebuild for new libc-client soname
    * Mon Jan 16 2006 Joe Orton <[email protected]> 5.1.2-3
    - only build xmlreader and xmlwriter shared (#177810)
    * Fri Jan 13 2006 Joe Orton <[email protected]> 5.1.2-2
    - update to 5.1.2
    * Thu Jan  5 2006 Joe Orton <[email protected]> 5.1.1-8
    - rebuild again
    * Mon Jan  2 2006 Joe Orton <[email protected]> 5.1.1-7
    - rebuild for new net-snmp
    * Mon Dec 12 2005 Joe Orton <[email protected]> 5.1.1-6
    - enable short_open_tag in default php.ini again (#175381)
    * Fri Dec 09 2005 Jesse Keating <[email protected]>
    - rebuilt
    * Thu Dec  8 2005 Joe Orton <[email protected]> 5.1.1-5
    - require net-snmp for php-snmp (#174800)
    * Sun Dec  4 2005 Joe Orton <[email protected]> 5.1.1-4
    - add /usr/share/pear back to hard-coded include_path (#174885)
    * Fri Dec  2 2005 Joe Orton <[email protected]> 5.1.1-3
    - rebuild for httpd 2.2
    * Mon Nov 28 2005 Joe Orton <[email protected]> 5.1.1-2
    - update to 5.1.1
    - remove pear subpackage
    - enable pdo extensions (php-pdo subpackage)
    - remove non-standard conditional module builds
    - enable xmlreader extension
    * Thu Nov 10 2005 Tomas Mraz <[email protected]> 5.0.5-6
    - rebuilt against new openssl
    * Mon Nov  7 2005 Joe Orton <[email protected]> 5.0.5-5
    - pear: update to XML_RPC 1.4.4, XML_Parser 1.2.7, Mail 1.1.9 (#172528)
    * Tue Nov  1 2005 Joe Orton <[email protected]> 5.0.5-4
    - rebuild for new libnetsnmp
    * Wed Sep 14 2005 Joe Orton <[email protected]> 5.0.5-3
    - update to 5.0.5
    - add fix for upstream #34435
    - devel: require autoconf, automake (#159283)
    - pear: update to HTTP-1.3.6, Mail-1.1.8, Net_SMTP-1.2.7, XML_RPC-1.4.1
    - fix imagettftext et al (upstream, #161001)
    * Thu Jun 16 2005 Joe Orton <[email protected]> 5.0.4-11
    - ldap: restore ldap_start_tls() function
    * Fri May  6 2005 Joe Orton <[email protected]> 5.0.4-10
    - disable RPATHs in shared extensions (#156974)
    * Tue May  3 2005 Joe Orton <[email protected]> 5.0.4-9
    - build simplexml_import_dom even with shared dom (#156434)
    - prevent truncation of copied files to ~2Mb (#155916)
    - install /usr/bin/php from CLI build alongside CGI
    - enable sysvmsg extension (#142988)
    * Mon Apr 25 2005 Joe Orton <[email protected]> 5.0.4-8
    - prevent build of builtin dba as well as shared extension
    * Wed Apr 13 2005 Joe Orton <[email protected]> 5.0.4-7
    - split out dba and bcmath extensions into subpackages
    - BuildRequire gcc-c++ to avoid AC_PROG_CXX{,CPP} failure (#155221)
    - pear: update to DB-1.7.6
    - enable FastCGI support in /usr/bin/php-cgi (#149596)
    * Wed Apr 13 2005 Joe Orton <[email protected]> 5.0.4-6
    - build /usr/bin/php with the CLI SAPI, and add /usr/bin/php-cgi,
      built with the CGI SAPI (thanks to Edward Rudd, #137704)
    - add php(1) man page for CLI
    - fix more test cases to use -n when invoking php
    * Wed Apr 13 2005 Joe Orton <[email protected]> 5.0.4-5
    - rebuild for new libpq soname
    * Tue Apr 12 2005 Joe Orton <[email protected]> 5.0.4-4
    - bundle from PEAR: HTTP, Mail, XML_Parser, Net_Socket, Net_SMTP
    - snmp: disable MSHUTDOWN function to prevent error_log noise (#153988)
    - mysqli: add fix for crash on x86_64 (Georg Richter, upstream #32282)
    * Mon Apr 11 2005 Joe Orton <[email protected]> 5.0.4-3
    - build shared objects as PIC (#154195)
    * Mon Apr  4 2005 Joe Orton <[email protected]> 5.0.4-2
    - fix PEAR installation and bundle PEAR DB-1.7.5 package
    * Fri Apr  1 2005 Joe Orton <[email protected]> 5.0.4-1
    - update to 5.0.4 (#153068)
    - add .phps AddType to php.conf (#152973)
    - better gcc4 fix for libxmlrpc
    * Wed Mar 30 2005 Joe Orton <[email protected]> 5.0.3-5
    - BuildRequire mysql-devel >= 4.1
    - don't mark php.ini as noreplace to make upgrades work (#152171)
    - fix subpackage descriptions (#152628)
    - fix memset(,,0) in Zend (thanks to Dave Jones)
    - fix various compiler warnings in Zend
    * Thu Mar 24 2005 Joe Orton <[email protected]> 5.0.3-4
    - package mysqli extension in php-mysql
    - really enable pcntl (#142903)
    - don't build with --enable-safe-mode (#148969)
    - use "Instant Client" libraries for oci8 module (Kai Bolay, #149873)
    * Fri Feb 18 2005 Joe Orton <[email protected]> 5.0.3-3
    - fix build with GCC 4
    * Wed Feb  9 2005 Joe Orton <[email protected]> 5.0.3-2
    - install the ext/gd headers (#145891)
    - enable pcntl extension in /usr/bin/php (#142903)
    - add libmbfl array arithmetic fix ([email protected], #143795)
    - add BuildRequire for recent pcre-devel (#147448)
    * Wed Jan 12 2005 Joe Orton <[email protected]> 5.0.3-1
    - update to 5.0.3 (thanks to Robert Scheck et al, #143101)
    - enable xsl extension (#142174)
    - package both the xsl and dom extensions in php-xml
    - enable soap extension, shared (php-soap package) (#142901)
    - add patches from upstream 5.0 branch:
    * Zend_strtod.c compile fixes
    * correct php_sprintf return value usage
    * Mon Nov 22 2004 Joe Orton <[email protected]> 5.0.2-8
    - update for db4-4.3 (Robert Scheck, #140167)
    - build against mysql-devel
    - run tests in %%check
    * Wed Nov 10 2004 Joe Orton <[email protected]> 5.0.2-7
    - truncate changelog at 4.3.1-1
    - merge from 4.3.x package:
    - enable mime_magic extension and Require: file (#130276)
    * Mon Nov  8 2004 Joe Orton <[email protected]> 5.0.2-6
    - fix dom/sqlite enable/without confusion
    * Mon Nov  8 2004 Joe Orton <[email protected]> 5.0.2-5
    - fix phpize installation for lib64 platforms
    - add fix for segfault in variable parsing introduced in 5.0.2
    * Mon Nov  8 2004 Joe Orton <[email protected]> 5.0.2-4
    - update to 5.0.2 (#127980)
    - build against mysqlclient10-devel
    - use new RTLD_DEEPBIND to load extension modules
    - drop explicit requirement for elfutils-devel
    - use AddHandler in default conf.d/php.conf (#135664)
    - "fix" round() fudging for recent gcc on x86
    - disable sqlite pending audit of warnings and subpackage split
    * Fri Sep 17 2004 Joe Orton <[email protected]> 5.0.1-4
    - don't build dom extension into 2.0 SAPI
    * Fri Sep 17 2004 Joe Orton <[email protected]> 5.0.1-3
    - ExclusiveArch: x86 ppc x86_64 for the moment
    * Fri Sep 17 2004 Joe Orton <[email protected]> 5.0.1-2
    - fix default extension_dir and conf.d/php.conf
    * Thu Sep  9 2004 Joe Orton <[email protected]> 5.0.1-1
    - update to 5.0.1
    - only build shared modules once
    - put dom extension in php-dom subpackage again
    - move extension modules into %%{_libdir}/php/modules
    - don't use --with-regex=system, it's ignored for the apache* SAPIs
    * Wed Aug 11 2004 Tom Callaway <[email protected]>
    - Merge in some spec file changes from Jeff Stern ([email protected])
    * Mon Aug 09 2004 Tom Callaway <[email protected]>
    - bump to 5.0.0
    - add patch to prevent clobbering struct re_registers from regex.h
    - remove domxml references, replaced with dom now built-in
    - fix php.ini to refer to php5 not php4
    * Wed Aug 04 2004 Florian La Roche <[email protected]>
    - rebuild
    * Wed Jul 14 2004 Joe Orton <[email protected]> 4.3.8-3
    - update to 4.3.8
    - catch some fd > FD_SETSIZE vs select() issues (#125258)
    * Mon Jun 21 2004 Joe Orton <[email protected]> 4.3.7-4
    - pick up test failures again
    - have -devel require php of same release
    * Thu Jun 17 2004 Joe Orton <[email protected]> 4.3.7-3
    - add gmp_powm fix (Oskari Saarenmaa, #124318)
    - split mbstring, ncurses, gd, openssl extns into subpackages
    - fix memory leak in apache2handler; use ap_r{write,flush}
      rather than brigade interfaces
    * Tue Jun 15 2004 Elliot Lee <[email protected]>
    - rebuilt
    * Thu Jun  3 2004 Joe Orton <[email protected]> 4.3.7-1
    - update to 4.3.7
    - have -pear subpackage require php of same VR
    * Wed May 26 2004 Joe Orton <[email protected]> 4.3.6-6
    - buildrequire smtpdaemon (#124430)
    - try switching to system libgd again (prevent symbol conflicts
      when e.g. mod_perl loads the system libgd library.)
    * Wed May 19 2004 Joe Orton <[email protected]> 4.3.6-5
    - don't obsolete php-imap (#123580)
    - unconditionally build -imap subpackage
    * Thu May 13 2004 Joe Orton <[email protected]> 4.3.6-4
    - remove trigger
    * Thu Apr 22 2004 Joe Orton <[email protected]> 4.3.6-3
    - fix umask reset "feature" (#121454)
    - don't use DL_GLOBAL when dlopen'ing extension modules
    * Sun Apr 18 2004 Joe Orton <[email protected]> 4.3.6-2
    - fix segfault on httpd SIGHUP (upstream #27810)
    * Fri Apr 16 2004 Joe Orton <[email protected]> 4.3.6-1
    - update to 4.3.6 (Robert Scheck, #121011)
    * Wed Apr  7 2004 Joe Orton <[email protected]> 4.3.4-11
    - add back imap subpackage, using libc-client (#115535)
    * Tue Mar 02 2004 Elliot Lee <[email protected]>
    - rebuilt
    * Wed Feb 18 2004 Joe Orton <[email protected]> 4.3.4-10
    - eliminate /usr/local/lib RPATH in odbc.so
    - really use system pcre library
    * Fri Feb 13 2004 Elliot Lee <[email protected]> 4.3.4-9
    - rebuilt
    * Mon Feb  2 2004 Bill Nottingham <[email protected]> 4.3.4-8
    - obsolete php-imap if we're not building it
    * Wed Jan 28 2004 Joe Orton <[email protected]> 4.3.4-7
    - gd fix for build with recent Freetype2 (from upstream)
    - remove easter egg (Oden Eriksson, Mandrake)
    * Wed Jan 21 2004 Joe Orton <[email protected]> 4.3.4-6
    - php-pear requires php
    - also remove extension=imap from php.ini in upgrade trigger
    - merge from Taroon: allow upgrade from Stronghold 4.0
    * Wed Jan 21 2004 Joe Orton <[email protected]> 4.3.4-5
    - add defattr for php-pear subpackage
    - restore defaults: output_buffering=Off, register_argc_argv=On
    - add trigger to handle php.ini upgrades smoothly (#112470)
    * Tue Jan 13 2004 Joe Orton <[email protected]> 4.3.4-4
    - conditionalize support for imap extension for the time being
    - switch /etc/php.ini to use php.ini-recommended (but leave
      variables_order as EGPCS) (#97765)
    - set session.path to /var/lib/php/session by default (#89975)
    - own /var/lib/php{,/session} and have apache own the latter
    - split off php-pear subpackage (#83771)
    * Sat Dec 13 2003 Jeff Johnson <[email protected]> 4.3.4-3
    - rebuild against db-4.2.52.
    * Mon Dec  1 2003 Joe Orton <[email protected]> 4.3.4-2
    - rebuild for new libxslt (#110658)
    - use --with-{mssql,oci8} for enabling extensions (#110482)
    - fix rebuild issues (Jan Visser, #110274)
    - remove hard-coded LIBS
    - conditional support for mhash (Aleksander Adamowski, #111251)
    * Mon Nov 10 2003 Joe Orton <[email protected]> 4.3.4-1.1
    - rebuild for FC1 updates
    * Mon Nov 10 2003 Joe Orton <[email protected]> 4.3.4-1
    - update to 4.3.4
    - include all licence files
    - libxmlrpc fixes
    * Mon Oct 20 2003 Joe Orton <[email protected]> 4.3.3-6
    - use bundled libgd (#107407)
    - remove manual: up-to-date manual sources are no longer DFSG-free;
      it's too big; it's on the web anyway; #91292, #105804, #107384
    * Wed Oct 15 2003 Joe Orton <[email protected]> 4.3.3-5
    - add php-xmlrpc subpackage (#107138)
    * Mon Oct 13 2003 Joe Orton <[email protected]> 4.3.3-4
    - drop recode support, symbols collide with MySQL
    * Sun Oct 12 2003 Joe Orton <[email protected]> 4.3.3-3
    - split domxml extension into php-domxml subpackage
    - enable xslt and xml support in domxml extension (#106042)
    - fix httpd-devel build requirement (#104341)
    - enable recode extension (#106755)
    - add workaround for #103982
    * Thu Sep 25 2003 Jeff Johnson <[email protected]> 4.3.3-3
    - rebuild against db-4.2.42.
    * Sun Sep  7 2003 Joe Orton <[email protected]> 4.3.3-2
    - don't use --enable-versioning, it depends on libtool being
    broken (#103690)
    * Sun Sep  7 2003 Joe Orton <[email protected]> 4.3.3-1
    - update to 4.3.3
    - add libtool build prereq (#103388)
    - switch to apache2handler
    * Mon Jul 28 2003 Joe Orton <[email protected]> 4.3.2-8
    - rebuild
    * Tue Jul 22 2003 Nalin Dahyabhai <[email protected]> 4.3.2-7
    - rebuild
    * Tue Jul  8 2003 Joe Orton <[email protected]> 4.3.2-6
    - use system pcre library
    * Mon Jun  9 2003 Joe Orton <[email protected]> 4.3.2-5
    - enable mbstring and mbregex (#81336)
    - fix use of libtool 1.5
    * Wed Jun 04 2003 Elliot Lee <[email protected]>
    - rebuilt
    * Tue Jun  3 2003 Joe Orton <[email protected]> 4.3.2-3
    - add lib64 and domxml fixes
    * Tue Jun  3 2003 Frank Dauer <[email protected]>
    - added conditional support for mssql module (#92149)
    * Fri May 30 2003 Joe Orton <[email protected]> 4.3.2-2
    - update the -tests and -lib64 patches
    - fixes for db4 detection
    - require aspell-devel >= 0.50.0 for pspell compatibility
    * Thu May 29 2003 Joe Orton <[email protected]> 4.3.2-1
    - update to 4.3.2
    * Fri May 16 2003 Joe Orton <[email protected]> 4.3.1-3
    - link odbc module correctly
    - patch so that php -n doesn't scan inidir
    - run tests using php -n, avoid loading system modules
    * Wed May 14 2003 Joe Orton <[email protected]> 4.3.1-2
    - workaround broken parser produced by bison-1.875
    * Tue May  6 2003 Joe Orton <[email protected]> 4.3.1-1
    - update to 4.3.1; run test suite
    - open extension modules with RTLD_NOW rather than _LAZYThe error is :
    Build complete.
    (It is safe to ignore warnings about tempnam and tmpnam).
    + with-oci8 enable-sigchild
    /var/tmp/rpm-tmp.3167: line 156: --with-oci8: command not found
    error: Bad exit status from /var/tmp/rpm-tmp.3167 (%build)
    RPM build errors:
        Bad exit status from /var/tmp/rpm-tmp.3167 (%build)If i modify spec like this :
    # Build /usr/bin/php-cgi with the CGI SAPI, and all the shared extensions
    pushd build-cgi
    build --enable-force-cgi-redirect \
          --enable-pcntl \
          with-imap=shared with-imap-ssl \
          enable-mbstring=shared enable-mbstr-enc-trans \
          --enable-mbregex \
          --with-ncurses=shared \
          --with-gd=shared \
          --enable-bcmath=shared \
          enable-dba=shared with-db4=%{_prefix} \
          --with-xmlrpc=shared \
          --with-ldap=shared \
          --with-mysql=shared,%{_prefix} \
          --with-mysqli=shared,%{_bindir}/mysql_config \
          --enable-dom=shared \
          --with-dom-xslt=%{_prefix} --with-dom-exslt=%{_prefix} \
          --with-pgsql=shared \
          --with-snmp=shared,%{_prefix} \
          --enable-soap=shared \
          --with-xsl=shared,%{_prefix} \
          enable-xmlreader=shared enable-xmlwriter=shared \
          --enable-fastcgi \
          --enable-pdo=shared \
          --with-pdo-odbc=shared,unixODBC,%{_prefix} \
          --with-pdo-mysql=shared,%{_prefix} \
          --with-pdo-pgsql=shared,%{_prefix} \
          --with-pdo-sqlite=shared,%{_prefix} \
    #      --with-pdo-oci=shared,$ORACLE_HOME \
          --with-oci8=shared,$ORACLE_HOME/lib \
           --enable-sigchild
    popdI'm getting :
    Build complete.
    (It is safe to ignore warnings about tempnam and tmpnam).
    + with-oci8=shared,/u01/app/oracle/product/10.2.0/db_1/lib enable-sigchild
    /var/tmp/rpm-tmp.11885: line 156: --with-oci8=shared,/u01/app/oracle/product/10.2.0/db_1/lib: No such file or directory
    error: Bad exit status from /var/tmp/rpm-tmp.11885 (%build)
    Please help.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     

    and a bit further :
    diff:
    12,13c12,13
    < %define oci8_test_system_password tiger
    < %define oci8_test_connection_string localhost/lhome
    %define oci8_test_system_password oracle
    %define oci8_test_connection_string localhost/orcl2136,138c136,137
    < Requires: php-common = %{version}-%{release}, php-pdo
    < # oracle-instantclient-basic = %{ociver} php-pdo
    < #BuildRequires: oracle-instantclient-devel = %{ociver}
    Requires: php-common = %{version}-%{release}, oracle-instantclient-basic = %{ociver} php-pdo
    BuildRequires: oracle-instantclient-devel = %{ociver}339c338
    < \$user       = "scott";
    \$user = "system";487c486,487
    <       with-oci8 enable-sigchild
    --with-pdo-oci=shared,instantclient,/usr,%{ociver} \
    --with-oci8=shared,instantclient,/usr/lib/oracle/%{ociver}/client/lib --enable-sigchild496c496
    <       disable-pdo disable-xmlreader --disable-xmlwriter
    disable-pdo disable-xmlreader --disable-xmlwriter506,508c506,508
    < #export PDO_OCI_TEST_DSN=oci:dbname=%{oci8_test_connection_string}
    < #export PDO_OCI_TEST_USER=system
    < #export PDO_OCI_TEST_PASS=%{oci8_test_system_password}
    export PDO_OCI_TEST_DSN=oci:dbname=%{oci8_test_connection_string}
    export PDO_OCI_TEST_USER=system
    export PDO_OCI_TEST_PASS=%{oci8_test_system_password}571c571
    <     pdo pdo_mysql pdo_pgsql pdo_odbc pdo_sqlite; do
    pdo pdo_mysql pdo_pgsql pdo_odbc pdo_sqlite pdo_oci; do589c589
    < #cat files.pdo_oci >> files.oci8
    cat files.pdo_oci >> files.oci8rpmbuild -bi
    + '[' /var/tmp/php-root '!=' / ']'
    + rm -f /var/tmp/php-root/etc/httpd/conf/httpd.conf /var/tmp/php-root/etc/httpd/conf/httpd.conf.bak
    + /usr/lib/rpm/brp-compress
    + /usr/lib/rpm/brp-strip
    + /usr/lib/rpm/brp-strip-static-archive
    + /usr/lib/rpm/brp-strip-comment-note
    Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.40673
    + umask 022
    + cd /usr/src/redhat/BUILD
    + cd php-5.2.3
    + cd build-apache
    + export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
    + NO_INTERACTION=1
    + REPORT_EXIT_STATUS=1
    + MALLOC_CHECK_=2
    + unset TZ LANG LC_ALL
    + make test
    Build complete.
    Don't forget to run 'make test'.
    PHP Warning:  PHP Startup: gd: Unable to initialize module
    Module compiled with module API=20050922, debug=0, thread-safety=0
    PHP    compiled with module API=20060613, debug=0, thread-safety=0
    These options need to match
    in Unknown on line 0
    PHP Warning:  PHP Startup: ldap: Unable to initialize module
    Module compiled with module API=20050922, debug=0, thread-safety=0
    PHP    compiled with module API=20060613, debug=0, thread-safety=0
    These options need to match
    in Unknown on line 0
    PHP Warning:  PHP Startup: gd: Unable to initialize module
    Module compiled with module API=20050922, debug=0, thread-safety=0
    PHP    compiled with module API=20060613, debug=0, thread-safety=0
    These options need to match
    in Unknown on line 0
    PHP Warning:  PHP Startup: ldap: Unable to initialize module
    Module compiled with module API=20050922, debug=0, thread-safety=0
    PHP    compiled with module API=20060613, debug=0, thread-safety=0etc. etc...

  • Problem with Unicode and Oracle NCLOB fields

    When I try to INSERT a new (N)CLOB into an Oracle database, all is fine until I use a non-ASCII character, such as an accented roman letter, like the "�" (that's '\u00E9') in "caf�" or the Euro Currency symbol "?" (that's '\u20AC' as a Java character literal, just in case the display is corrupted here too). This doesn't happen with "setString", but does happen when streaming characters to the CLOB; however, as Oracle or the driver refuse strings larger than 4000 characters, and as I need to support all the above symbols (and many more), I'm stuck.
    Here's the background to the problem (I've tried to be detailed, after a lot of looking around on the web, I've seen lots of people with similar problems, but no solutions: I've seen and been able to stream ASCII clobs, or add small NCHAR strings, but not stream NCLOBs...).
    I'm using Oracle 9.2.0.1.0 with the "thin" JDBC driver, on a Windows box (XP Pro). My database instance is set up with AL32UTF8 as the database encoding, and UTF8 as the national character set.. I've created a simple user/schema, called LOBTEST, in which I created two tables (see below).
    The basic problems are :
    - with Oracle and JDBC, you can't set the value of a CLOB or NCLOB with PreparedStatement's setString or setCharacterStream methods (as it throws an exception when you send more than 4000 characters)
    - with Oracle, you can only have one LONG VARCHAR-type field per table (according to their documentation) and you MUST read all columns in a set order (amongst other limitations).
    - with a SQL INSERT command, there's no way to set the value of a parameter that's a CLOB (implementations of the CLOB interface can only be obtained by performing a SELECT.... but obviously, when I'm inserting, the record doesn't exist yet...). Workarounds include (possibly) JDBC 4 (doesn't exist yet...) or doing the following Oracle-specific stuff :
    INSERT INTO MyTable (theID,theCLOB) VALUES (1, empty_clob());
    SELECT * FROM MyTable WHERE theId = 1;
    ...and getting the empty CLOB back (via a ResultSet), and populating it. I have a very large application, that's deployed for many of our customers using SapDB and MySQL without a hitch, with "one-step" INSERTS; I can't feasibly change the application into "three-step INSERT-SELECT-UPDATE" just for Oracle, and I shouldn't need to!!!
    The final workaround is to use Oracle-specific classes, described in:
    http://download-east.oracle.com/otn_hosted_doc/jdeveloper/904preview/jdbc-javadoc/index.html
    ...such as CLOB (see my example). This works fine until I add some non-ASCII characters, at which point, irrespective of whether the CLOB data is 2 characters or 2 million characters, it throws the same exception:
    java.io.IOException: Il n'y a plus de donn?es ? lire dans le socket
         at oracle.jdbc.dbaccess.DBError.SQLToIOException(DBError.java:716)
         at oracle.jdbc.driver.OracleClobWriter.flushBuffer(OracleClobWriter.java:270)
         at oracle.jdbc.driver.OracleClobWriter.flush(OracleClobWriter.java:204)
         at scratchpad.InsertOracleClobExample.main(InsertOracleClobExample.java:61)...where the error message in English is "No more data to read from socket". I need the Oracle-specific "setFormOfUse" method to force it to correctly use the encoding of the NCLOB field, without it, even plain ASCII data is rejected with an exception indicating that the character set is inappropriate. With a plain CLOB, I don't need it, but the plain CLOB refuses my non-ASCII data anyway.
    So, many many thanks in advance for any advice. The remainder of my post includes my code example and a simple SQL script to create the table(s). You can mess around with the source code to test various combinations.
    Thanks,
    Chris B.
    CREATE TABLE NCLOBTEST (
         ID         INTEGER NOT NULL,
         SOMESTRING NCLOB,
         PRIMARY KEY (ID)
    CREATE TABLE CLOBTEST (
         ID         INTEGER NOT NULL,
         SOMESTRING CLOB,
         PRIMARY KEY (ID)
    package scratchpad;
    import java.io.Writer;
    import java.sql.Connection;
    import java.sql.Driver;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    import java.util.Properties;
    import oracle.jdbc.driver.OracleDriver;
    import oracle.jdbc.driver.OraclePreparedStatement;
    import oracle.sql.CLOB;
    public class InsertOracleClobExample
         public static void main(String[] args)
              Properties jdbcProperties = new Properties();
              jdbcProperties.setProperty( "user", "LOBTEST" );
              jdbcProperties.setProperty( "password", "LOBTEST" );
    //          jdbcProperties.setProperty("oracle.jdbc.defaultNChar","true");
              Driver jdbcDriver = new OracleDriver();
              PreparedStatement pstmt = null;
              Connection connection = null;
              String tableName = "NCLOBTEST";
              CLOB clob = null;
              try
                   connection = jdbcDriver.connect("jdbc:oracle:thin:@terre:1521:orcl", jdbcProperties);
                   pstmt = connection.prepareStatement("DELETE FROM NCLOBTEST");
                   pstmt.executeUpdate();
                   pstmt.close();
                   pstmt = connection.prepareStatement(
                        "INSERT INTO "+tableName+" (ID,SOMESTRING) VALUES (?,?);"
                   clob = CLOB.createTemporary(pstmt.getConnection(), true, CLOB.DURATION_SESSION);
                   clob.open(CLOB.MODE_READWRITE);
                   Writer clobWriter = clob.getCharacterOutputStream();
                   clobWriter.write("Caf? 4,90? TTC");
                   clobWriter.flush();
                   clobWriter.close();
                   clob.close();
                   OraclePreparedStatement opstmt = (OraclePreparedStatement)pstmt;
                   opstmt.setInt(1,1);
                   opstmt.setFormOfUse(2, OraclePreparedStatement.FORM_NCHAR);
                   opstmt.setCLOB(2, clob);
                   System.err.println("Rows affected: "+opstmt.executeUpdate());
              catch (Exception sqlex)
                   sqlex.printStackTrace();
                   try     {
                        clob.freeTemporary();
                   } catch (SQLException e) {
                        System.err.println("Cannot free temporary CLOB: "+e.getMessage());
              try { pstmt.close(); } catch(SQLException sqlex) {}
              try { connection.close(); } catch(SQLException sqlex) {}
    }

    The solution to this is to use a third-party driver. Oranxo works really well.
    - Chris

  • "DBSL does not support extended connect protocol" while configuring SSFS

    Hi, I'm trying to configure ssfs on ERP EHP7 on HANA Database system. Doing it with this guide - SSFS Implementation for Oracle Database
    But when I'm trying to test connection with r3trans I got following error in the log:
    4 ETW000  [     dev trc,00000]  read_con_info_ssfs(): DBSL does not support extended connect protocol
    4 ETW000                         ==> ssfs won't be used                                                   26  0.004936
    I already updated DBSL_LIB to the latest version, but it doesn't help.
    Here is full log:
    4 ETW000 C:\usr\sap\CM1\DVEBMGS04\exe\R3trans.EXE version 6.24 (release 741 - 16.05.14 - 20:14:06).
    4 ETW000 unicode enabled version
    4 ETW000 ===============================================
    4 ETW000
    4 ETW000 date&time   : 02.06.2014 - 13:49:16
    4 ETW000 control file: <no ctrlfile>
    4 ETW000 R3trans was called as follows: C:\usr\sap\CM1\DVEBMGS04\exe\R3trans.EXE -d
    4 ETW000  trace at level 2 opened for a given file pointer
    4 ETW000  [     dev trc,00000]  Mon Jun 02 13:49:16 2014                                                 106  0.000106
    4 ETW000  [     dev trc,00000]  db_con_init called                                                        36  0.000142
    4 ETW000  [     dev trc,00000]  set_use_ext_con_info(): ssfs will be used to get connect information
    4 ETW000                                                                                                  61  0.000203
    4 ETW000  [     dev trc,00000]  determine_block_commit: no con_hdl found as blocked for con_name = R/3
    4 ETW000                                                                                                  26  0.000229
    4 ETW000  [     dev trc,00000]  create_con (con_name=R/3)                                                 17  0.000246
    4 ETW000  [     dev trc,00000]  Loading DB library 'dbhdbslib.dll' ...                                    46  0.000292
    4 ETW000  [     dev trc,00000]  DlLoadLib success: LoadLibrary("dbhdbslib.dll"), hdl 0, count 1, addr 000007FEED100000
    4 ETW000                                                                                                3840  0.004132
    4 ETW000  [     dev trc,00000]      using "C:\usr\sap\CM1\DVEBMGS04\exe\dbhdbslib.dll"                    21  0.004153
    4 ETW000  [     dev trc,00000]  Library 'dbhdbslib.dll' loaded                                            21  0.004174
    4 ETW000  [     dev trc,00000]  function DbSlExpFuns loaded from library dbhdbslib.dll                    42  0.004216
    4 ETW000  [     dev trc,00000]  Version of 'dbhdbslib.dll' is "741.10", patchlevel (0.22)                 81  0.004297
    4 ETW000  [     dev trc,00000]  function dsql_db_init loaded from library dbhdbslib.dll                   25  0.004322
    4 ETW000  [     dev trc,00000]  function dbdd_exp_funs loaded from library dbhdbslib.dll                  41  0.004363
    4 ETW000  [     dev trc,00000]  } DbSlHDBControl(rc=0)                                                    47  0.004410
    4 ETW000  [     dev trc,00000]  { DbSlHDBControl(con_hdl=-1,command=39,arg_p=0000000000000000)            24  0.004434
    4 ETW000  [     dev trc,00000]  } DbSlHDBControl(rc=0)                                                    18  0.004452
    4 ETW000  [     dev trc,00000]  { DbSlHDBControl(con_hdl=-1,command=10,arg_p=000000000205F170)            22  0.004474
    4 ETW000  [     dev trc,00000]  } DbSlHDBControl(rc=0)                                                    17  0.004491
    4 ETW000  [     dev trc,00000]  New connection 0 created                                                  17  0.004508
    4 ETW000  [     dev trc,00000]  0: name = R/3, con_id = -000000001, state = DISCONNECTED, tx = NO , bc = NO , oc = 000, hc = NO , perm = YES, reco = NO , info = NO , timeout = 000, con_max = 255, con_opt = 255, occ = NO , prog = 
    4 ETW000                                                                                                  38  0.004546
    4 ETW000  [     dev trc,00000]  { DbSlHDBControl(con_hdl=-1,command=10,arg_p=0000000141BAEDB0)            44  0.004590
    4 ETW000  [     dev trc,00000]  } DbSlHDBControl(rc=0)                                                    19  0.004609
    4 ETW000  [     dev trc,00000]  db_con_connect (con_name=R/3)                                             19  0.004628
    4 ETW000  [     dev trc,00000]  determine_block_commit: no con_hdl found as blocked for con_name = R/3
    4 ETW000                                                                                                  24  0.004652
    4 ETW000  [     dev trc,00000]  find_con_by_name found the following connection:                          17  0.004669
    4 ETW000  [     dev trc,00000]  0: name = R/3, con_id = 000000000, state = DISCONNECTED, tx = NO , bc = NO , oc = 000, hc = NO , perm = YES, reco = NO , info = NO , timeout = 000, con_max = 255, con_opt = 255, occ = NO , prog = 
    4 ETW000                                                                                                 164  0.004833
    4 ETW000  [     dev trc,00000]  read_con_info_ssfs(): reading connect info for connection R/3             34  0.004867
    4 ETW000  [     dev trc,00000]  { DbSlHDBControl(con_hdl=-1,command=74,arg_p=0000000000000000)            24  0.004891
    4 ETW000  [     dev trc,00000]  } DbSlHDBControl(rc=15)                                                   19  0.004910
    4 ETW000  [     dev trc,00000]  read_con_info_ssfs(): DBSL does not support extended connect protocol
    4 ETW000                         ==> ssfs won't be used                                                   26  0.004936
    4 ETW000  [     dev trc,00000]  { DbSlHDBConnect(con_info_p=0000000000000000)                             31  0.004967
    4 ETW000  [     dev trc,00000]  DBHDBSLIB : version 741.10, patch 0.022 (Make PL 0.26)                    34  0.005001
    4 ETW000  [     dev trc,00000]  HDB shared library (dbhdbslib) patchlevels (last 10)                      32  0.005033
    4 ETW000  [     dev trc,00000]    (0.022) Get database version via dbsl call (note 1976918)               24  0.005057
    4 ETW000  [     dev trc,00000]    (0.020) FDA: Core Dump in SELECT ... FOR ALL ENTRIES for tables with strings (note 1970276)
    4 ETW000                                                                                                  32  0.005089
    4 ETW000  [     dev trc,00000]    (0.020) SQL DDL with data aging (note 1897636)                          21  0.005110
    4 ETW000  [     dev trc,00000]    (0.017) Datatype NCLOB missing in tablesize calculation (note 1952609)
    4 ETW000                                                                                                  30  0.005140
    4 ETW000  [     dev trc,00000]    (0.014) Tablesize calculation for HANA optimized (note 1952609)         25  0.005165
    4 ETW000  [     dev trc,00000]    (0.014) Native SQL UPSERT with DataAging (note 1897636)                 21  0.005186
    4 ETW000  [     dev trc,00000]    (0.014) DBSL supports HANA revision number up to 3 digits (note 1952701)
    4 ETW000                                                                                                  27  0.005213
    4 ETW000  [     dev trc,00000]    (0.010) Quotes missing by FAE with the hint dbsl_equi_join (note 1939234)
    4 ETW000                                                                                                  28  0.005241
    4 ETW000  [     dev trc,00000]    (0.007) Obsere deactivate aging flag (note 1897636)                     24  0.005265
    4 ETW000  [     dev trc,00000]    (0.007) Calculated record length for INSERT corrected (note 1897636)
    4 ETW000                                                                                                  27  0.005292
    4 ETW000  [     dev trc,00000]                                                                            15  0.005307
    4 ETW000  [     dev trc,00000]   -> init()                                                                21  0.005328
    4 ETW000  [     dev trc,00000]    STATEMENT_CACHE_SIZE = 1000                                            181  0.005509
    4 ETW000  [     dev trc,00000]   -> init()                                                               505  0.006014
    4 ETW000  [     dev trc,00000]   -> loadClientRuntime()                                                   27  0.006041
    4 ETW000  [     dev trc,00000]  Loading SQLDBC client runtime ...                                         19  0.006060
    4 ETW000  [     dev trc,00000]  SQLDBC Module  : C:\usr\sap\CM1\hdbclient\libSQLDBCHDB.dll               779  0.006839
    4 ETW000  [     dev trc,00000]  SQLDBC Runtime : libSQLDBCHDB 1.00.68 Build 0384084-1510                  74  0.006913
    4 ETW000  [     dev trc,00000]  SQLDBC client runtime is 1.00.68.0384084                                  45  0.006958
    4 ETW000  [     dev trc,00000]   -> getNewConnection()                                                    28  0.006986
    4 ETW000  [     dev trc,00000]   <- getNewConnection(con_hdl=0)                                           78  0.007064
    4 ETW000  [     dev trc,00000]   -> checkEnvironment(con_hdl=0)                                           34  0.007098
    4 ETW000  [     dev trc,00000]   -> connect(con_info_p=0000000000000000)                                  27  0.007125
    4 ETW000  [     dev trc,00000]  Try to connect via secure store (DEFAULT) on connection 0 ...             62  0.007187
    4 ETW000  [     dev trc,00000]   -> check_db_params(con_hdl=0)                                         61365  0.068552
    4 ETW000  [     dev trc,00000]  Attach to HDB : 1.00.68.384084 (NewDB100_REL)                           7595  0.076147
    4 ETW000  [     dev trc,00000]  Database release is HDB 1.00.68.384084                                    49  0.076196
    4 ETW000  [     dev trc,00000]  INFO : Database 'HDB/00' instance is running on 'hanaserver'            6867  0.083063
    4 ETW000  [     dev trc,00000]  INFO : Connect to DB as 'SAPCM1', connection_id=201064                 43659  0.126722
    4 ETW000  [     dev trc,00000]  DB max. input host variables  : 32767                                   6954  0.133676
    4 ETW000  [     dev trc,00000]  DB max. statement length      : 1048576                                   34  0.133710
    4 ETW000  [     dev trc,00000]  DB max. array size            : 100000                                    75  0.133785
    4 ETW000  [     dev trc,00000]  use decimal precision as length                                           21  0.133806
    4 ETW000  [     dev trc,00000]  ABAPVARCHARMODE is used                                                   19  0.133825
    4 ETW000  [     dev trc,00000]  INFO : DBSL buffer size = 1048576                                         20  0.133845
    4 ETW000  [     dev trc,00000]  Command info enabled                                                      19  0.133864
    4 ETW000  [     dev trc,00000]  Now I'm connected to HDB                                                  18  0.133882
    4 ETW000  [     dev trc,00000]  00: hanaserver-HDB/00, since=20140602134916, ABAP= <unknown> (0)          30  0.133912
    4 ETW000  [     dev trc,00000]  } DbSlHDBConnect(rc=0)                                                    18  0.133930
    4 ETW000  [     dev trc,00000]  { DbSlHDBControl(con_hdl=0,command=30,arg_p=0000000000000000)             24  0.133954
    4 ETW000  [     dev trc,00000]  } DbSlHDBControl(rc=0)                                                    18  0.133972
    4 ETW000  [     dev trc,00000]  { DbSlHDBControl(con_hdl=0,command=21,arg_p=000000000205F460)             22  0.133994
    4 ETW000  [     dev trc,00000]  } DbSlHDBControl(rc=0)                                                    18  0.134012
    4 ETW000  [     dev trc,00000]  Connection 0 opened (DBSL handle 0)                                       36  0.134048
    4 ETW000  [     dev trc,00000]  { DbSlHDBControl(con_hdl=0,command=7,arg_p=000000000205F4B0)              25  0.134073
    4 ETW000  [     dev trc,00000]  } DbSlHDBControl(rc=0)                                                    17  0.134090
    4 ETW000  [     dev trc,00000]  { DbSlHDBControl(con_hdl=0,command=63,arg_p=000000000205F2B0)             23  0.134113
    4 ETW000  [     dev trc,00000]  } DbSlHDBControl(rc=0)                                                    18  0.134131
    4 ETW000  [     dev trc,00000]  { DbSlHDBControl(con_hdl=0,command=21,arg_p=000000000205F300)          12214  0.146345
    4 ETW000  [     dev trc,00000]  } DbSlHDBControl(rc=0)                                                    32  0.146377
    4 ETW000  [     dev trc,00000]  { DbSlHDBControl(con_hdl=0,command=11,arg_p=000000000205F420)             26  0.146403
    4 ETW000  [     dev trc,00000]  } DbSlHDBControl(rc=0)                                                    18  0.146421
    4 ETW000  [     dev trc,00000]  { DbSlHDBControl(con_hdl=0,command=22,arg_p=000000000205F390)             23  0.146444
    4 ETW000  [     dev trc,00000]  } DbSlHDBControl(rc=0)                                                    37  0.146481
    4 ETW000  [     dev trc,00000]  { DbSlHDBControl(con_hdl=0,command=13,arg_p=000000000205F260)             29  0.146510
    4 ETW000  [     dev trc,00000]  } DbSlHDBControl(rc=0)                                                    18  0.146528
    4 ETW000  [     dev trc,00000]  { DbSlHDBControl(con_hdl=0,command=24,arg_p=000000000205F210)             37  0.146565
    4 ETW000  [     dev trc,00000]  } DbSlHDBControl(rc=0)                                                    35  0.146600
    4 ETW000  [     dev trc,00000]  { DbSlHDBControl(con_hdl=0,command=51,arg_p=000000000205F200)             40  0.146640
    4 ETW000  [     dev trc,00000]  } DbSlHDBControl(rc=15)                                                   31  0.146671
    4 ETW000  [     dev trc,00000]  { DbSlHDBPrepare(con_hdl=0,ss_p=000000000205F4E0,op=3,da_p=000000000205F540)
    4 ETW000                                                                                                  46  0.146717
    4 ETW000  [     dev trc,00000]   -> buildSQLStmt(stmt_p=000000000205F4B0,da_p=000000000205F540,for_explain=0,lock=0,op=3)
    4 ETW000                                                                                                  89  0.146806
    4 ETW000  [     dev trc,00000]   <- buildSQLStmt(len=27,op=3,#marker=0,#lob=0)                            33  0.146839
    4 ETW000  [     dev trc,00000]   -> stmt_prepare(sc_hdl=0000000003AEAC40,ss_p=000000000205F4E0)           75  0.146914
    4 ETW000  [     dev trc,00000]  sc_p=0000000003AEAC40,no=0,idc_p=0000000000000000,con=0,act=0,slen=27,smax=256,#vars=0,stmt=000000000AD913E0,table=SVERS                        
    4 ETW000                                                                                                  46  0.146960
    4 ETW000  [     dev trc,00000]  SELECT VERSION FROM SVERS  ;                                              23  0.146983
    4 ETW000  [     dev trc,00000]    CURSOR C_0000 PREPARE on connection 0                                   21  0.147004
    4 ETW000  [     dev trc,00000]  } DbSlHDBPrepare(rc=0)                                                  6174  0.153178
    4 ETW000  [     dev trc,00000]  { DbSlHDBRead(con_hdl=0,ss_p=000000000205F4E0,da_p=000000000205F540)
    4 ETW000                                                                                                  53  0.153231
    4 ETW000  [     dev trc,00000]   ABAP USER is not set                                                     25  0.153256
    4 ETW000  [     dev trc,00000]   -> activate_stmt(sc_hdl=0000000003AEAC40,da_p=000000000205F540)          25  0.153281
    4 ETW000  [     dev trc,00000]   -> bind_variables(sc_hdl=0000000003AEAC40,in_out=0,bulk=0,da_p=000000000205F540)
    4 ETW000                                                                                                  30  0.153311
    4 ETW000  [     dev trc,00000]   -> allocParameter(in_out=0,col_cnt=0)                                    21  0.153332
    4 ETW000  [     dev trc,00000]   -> calculate_record_length(sc_hdl=0000000003AEAC40,in_out=0,bulk=0,types=0000000000000000,#col=0,useBulkInsertWithLobs=0)
    4 ETW000                                                                                                  54  0.153386
    4 ETW000  [     dev trc,00000]      #float=0,#lob=0,itab=0,#short=0,#int=0,#llong=0,#uc=0,rec_lng=0,db_lng=0
    4 ETW000                                                                                                  33  0.153419
    4 ETW000  [     dev trc,00000]   <- calculate_record_length(row_size=0, lob_cnt=0, lob_pw_cnt=0, long_cnt=0, ins_bulk_lob=0, row_max=1)
    4 ETW000                                                                                                  33  0.153452
    4 ETW000  [     dev trc,00000]   -> exec_modify(sc_hdl=0000000003AEAC40,ss_p=000000000205F4E0,bulk=0,in_out=1,da_p=000000000205F540)
    4 ETW000                                                                                                  36  0.153488
    4 ETW000  [     dev trc,00000]   -> stmt_execute(sc_hdl=0000000003AEAC40,ss_p=000000000205F4E0,in_out=1,da_p=000000000205F540)
    4 ETW000                                                                                                  95  0.153583
    4 ETW000  [     dev trc,00000]    OPEN CURSOR C_0000 on connection 0                                      28  0.153611
    4 ETW000  [     dev trc,00000]    CURSOR C_0000 SET InputSize=1                                           23  0.153634
    4 ETW000  [     dev trc,00000]    CURSOR C_0000 EXECUTE on connection 0                                   22  0.153656
    4 ETW000  [     dev trc,00000]    execute() of C_0000, #rec=0, rcSQL=0, rc=0                            6404  0.160060
    4 ETW000  [     dev trc,00000]    CURSOR C_0000, rc=0,#rec=0,#dbcount=0                                   36  0.160096
    4 ETW000  [     dev trc,00000]   -> bind_variables(sc_hdl=0000000003AEAC40,in_out=1,bulk=0,da_p=000000000205F540)
    4 ETW000                                                                                                  33  0.160129
    4 ETW000  [     dev trc,00000]   -> allocParameter(in_out=1,col_cnt=1)                                    21  0.160150
    4 ETW000  [     dev trc,00000]   -> calculate_record_length(sc_hdl=0000000003AEAC40,in_out=1,bulk=0,types=000000000205F518,#col=1,useBulkInsertWithLobs=0)
    4 ETW000                                                                                                  37  0.160187
    4 ETW000  [     dev trc,00000]      #float=0,#lob=0,itab=0,#short=0,#int=0,#llong=0,#uc=72,rec_lng=144,db_lng=144
    4 ETW000                                                                                                  31  0.160218
    4 ETW000  [     dev trc,00000]   <- calculate_record_length(row_size=144, lob_cnt=0, lob_pw_cnt=0, long_cnt=0, ins_bulk_lob=0, row_max=1)
    4 ETW000                                                                                                  31  0.160249
    4 ETW000  [     dev trc,00000]   -> allocIndicator(in_out=1,row_cnt=1)                                    21  0.160270
    4 ETW000  [     dev trc,00000]   -> allocData(in_out=1,size=1048576)                                      21  0.160291
    4 ETW000  [     dev trc,00000]   -> bind_type_and_length(sc_hdl=0000000003AEAC40,in_out=1,bulk=0,arr_size=1,types=000000000205F518,da_p=000000000205F540)
    4 ETW000                                                                                                  45  0.160336
    4 ETW000  [     dev trc,00000]   -> exec_fetch(sc_hdl=0000000003AEAC40,bulk=0,da_p=000000000205F540)
    4 ETW000                                                                                                  41  0.160377
    4 ETW000  [     dev trc,00000]      xcnt=1,row_i=0,row_pcnt=0                                             20  0.160397
    4 ETW000  [     dev trc,00000]   -> stmt_fetch(sc_hdl=0000000003AEAC40)                                   20  0.160417
    4 ETW000  [     dev trc,00000]    CURSOR C_0000 FETCH (xcnt=1) on connection 0                            23  0.160440
    4 ETW000  [     dev trc,00000]    next() of C_0000, rc=0                                                  27  0.160467
    4 ETW000  [     dev trc,00000]    fetch() of C_0000, #rec=1, rc=0, rcSQL=0                                28  0.160495
    4 ETW000  [     dev trc,00000]   -> deactivate_stmt(sc_hdl=0000000003AEAC40,da_p=000000000205F540,rc=0)
    4 ETW000                                                                                                  91  0.160586
    4 ETW000  [     dev trc,00000]   -> StmtCacheFree(DBSL:C_0000)                                            24  0.160610
    4 ETW000  [     dev trc,00000]    CURSOR C_0000 CLOSE resultset on connection 0                           20  0.160630
    4 ETW000  [     dev trc,00000]  } DbSlHDBRead(rc=0)                                                       34  0.160664
    4 ETW000  [     dev trc,00000]  { DbSlHDBControl(con_hdl=0,command=43,arg_p=00000001400FAB06)             25  0.160689
    4 ETW000  [     dev trc,00000]  INFO : SAP RELEASE (DB) = 740                                             19  0.160708
    4 ETW000  [     dev trc,00000]  } DbSlHDBControl(rc=0)                                                    16  0.160724
    4 ETW000  [     dev trc,00000]  { DbSlHDBControl(con_hdl=0,command=41,arg_p=00000001400FAB98)             49  0.160773
    4 ETW000  [     dev trc,00000]  } DbSlHDBControl(rc=0)                                                    19  0.160792
    4 ETW000  [     dev trc,00000]  { DbSlHDBControl(con_hdl=0,command=14,arg_p=0000000002055888)             22  0.160814
    4 ETW000  [     dev trc,00000]  } DbSlHDBControl(rc=0)                                                    18  0.160832
    4 ETW000  [     dev trc,00000]  { DbSlHDBControl(con_hdl=0,command=50,arg_p=0000000002055880)             22  0.160854
    4 ETW000  [     dev trc,00000]  } DbSlHDBControl(rc=0)                                                    26  0.160880
    4 ETW000  [     dev trc,00000]  { DbSlHDBControl(con_hdl=0,command=52,arg_p=00000000020558F0)             23  0.160903
    4 ETW000  [     dev trc,00000]  } DbSlHDBControl(rc=0)                                                    17  0.160920
    4 ETW000  [     dev trc,00000]  { DbSlHDBControl(con_hdl=0,command=20,arg_p=0000000141FC74F0)             99  0.161019
    4 ETW000  [     dev trc,00000]  INFO : STMT SIZE = 1048576                                                21  0.161040
    4 ETW000  [     dev trc,00000]  INFO : MARKER_CNT = 32767                                                 18  0.161058
    4 ETW000  [     dev trc,00000]  } DbSlHDBControl(rc=0)                                                    19  0.161077
    4 ETW000  [     dev trc,00000]  NTAB: SELECT COMPCNT, UNICODELG FROM DDNTT WHERE TABNAME = 'SVERS'...
    4 ETW000                                                                                                  38  0.161115
    4 ETW000  [     dev trc,00000]  { DbSlHDBPrepare(con_hdl=0,ss_p=0000000002055160,op=3,da_p=00000000020551B0)
    4 ETW000                                                                                                  31  0.161146
    4 ETW000  [     dev trc,00000]   -> buildSQLStmt(stmt_p=0000000002055180,da_p=00000000020551B0,for_explain=0,lock=0,op=3)
    4 ETW000                                                                                                  32  0.161178
    4 ETW000  [     dev trc,00000]   <- buildSQLStmt(len=63,op=3,#marker=0,#lob=0)                            23  0.161201
    4 ETW000  [     dev trc,00000]   -> stmt_prepare(sc_hdl=0000000003AEACD8,ss_p=0000000002055160)           38  0.161239
    4 ETW000  [     dev trc,00000]  sc_p=0000000003AEACD8,no=1,idc_p=0000000000000000,con=0,act=0,slen=63,smax=256,#vars=0,stmt=000000000AE09690,table=DDNTT                        
    4 ETW000                                                                                                  38  0.161277
    4 ETW000  [     dev trc,00000]  SELECT COMPCNT, UNICODELG FROM "DDNTT" WHERE TABNAME = 'SVERS' ;          21  0.161298
    4 ETW000  [     dev trc,00000]    CURSOR C_0001 PREPARE on connection 0                                   19  0.161317
    4 ETW000  [     dev trc,00000]  } DbSlHDBPrepare(rc=0)                                                  6453  0.167770
    4 ETW000  [     dev trc,00000]  db_con_test_and_open: 1 open cursors (delta=1)                            30  0.167800
    4 ETW000  [     dev trc,00000]  db_con_check_dirty: 1 open cursors, tx = NO , bc = NO                     18  0.167818
    4 ETW000  [     dev trc,00000]  db_con_check_dirty: db_con_dirty = YES                                    16  0.167834
    4 ETW000  [     dev trc,00000]  { DbSlHDBBegRead(con_hdl=0,ss_p=0000000002055160,da_p=00000000020551B0)
    4 ETW000                                                                                                  35  0.167869
    4 ETW000  [     dev trc,00000]   ABAP USER is not set                                                     23  0.167892
    4 ETW000  [     dev trc,00000]   -> activate_stmt(sc_hdl=0000000003AEACD8,da_p=00000000020551B0)          23  0.167915
    4 ETW000  [     dev trc,00000]   -> bind_variables(sc_hdl=0000000003AEACD8,in_out=0,bulk=0,da_p=00000000020551B0)
    4 ETW000                                                                                                  32  0.167947
    4 ETW000  [     dev trc,00000]   -> allocParameter(in_out=0,col_cnt=0)                                    23  0.167970
    4 ETW000  [     dev trc,00000]   -> calculate_record_length(sc_hdl=0000000003AEACD8,in_out=0,bulk=0,types=0000000000000000,#col=0,useBulkInsertWithLobs=0)
    4 ETW000                                                                                                  34  0.168004
    4 ETW000  [     dev trc,00000]      #float=0,#lob=0,itab=0,#short=0,#int=0,#llong=0,#uc=0,rec_lng=0,db_lng=0
    4 ETW000                                                                                                  30  0.168034
    4 ETW000  [     dev trc,00000]   <- calculate_record_length(row_size=0, lob_cnt=0, lob_pw_cnt=0, long_cnt=0, ins_bulk_lob=0, row_max=1)
    4 ETW000                                                                                                  31  0.168065
    4 ETW000  [     dev trc,00000]   -> exec_modify(sc_hdl=0000000003AEACD8,ss_p=0000000002055160,bulk=0,in_out=1,da_p=00000000020551B0)
    4 ETW000                                                                                                  32  0.168097
    4 ETW000  [     dev trc,00000]   -> stmt_execute(sc_hdl=0000000003AEACD8,ss_p=0000000002055160,in_out=1,da_p=00000000020551B0)
    4 ETW000                                                                                                  32  0.168129
    4 ETW000  [     dev trc,00000]    OPEN CURSOR C_0001 on connection 0                                      20  0.168149
    4 ETW000  [     dev trc,00000]    CURSOR C_0001 SET InputSize=1                                           19  0.168168
    4 ETW000  [     dev trc,00000]    CURSOR C_0001 EXECUTE on connection 0                                   20  0.168188
    4 ETW000  [     dev trc,00000]    execute() of C_0001, #rec=0, rcSQL=0, rc=0                            5712  0.173900
    4 ETW000  [     dev trc,00000]    CURSOR C_0001, rc=0,#rec=0,#dbcount=0                                   34  0.173934
    4 ETW000  [     dev trc,00000]   -> bind_variables(sc_hdl=0000000003AEACD8,in_out=1,bulk=1,da_p=00000000020551B0)
    4 ETW000                                                                                                  32  0.173966
    4 ETW000  [     dev trc,00000]   -> allocParameter(in_out=1,col_cnt=2)                                    21  0.173987
    4 ETW000  [     dev trc,00000]   -> calculate_record_length(sc_hdl=0000000003AEACD8,in_out=1,bulk=1,types=0000000002055240,#col=2,useBulkInsertWithLobs=0)
    4 ETW000                                                                                                  34  0.174021
    4 ETW000  [     dev trc,00000]      #float=0,#lob=0,itab=0,#short=2,#int=0,#llong=0,#uc=0,rec_lng=16,db_lng=4
    4 ETW000                                                                                                  30  0.174051
    4 ETW000  [     dev trc,00000]   <- calculate_record_length(row_size=16, lob_cnt=0, lob_pw_cnt=0, long_cnt=0, ins_bulk_lob=0, row_max=65536)
    4 ETW000                                                                                                  32  0.174083
    4 ETW000  [     dev trc,00000]   -> allocIndicator(in_out=1,row_cnt=65536)                                20  0.174103
    4 ETW000  [     dev trc,00000]   -> allocData(in_out=1,size=1048576)                                      30  0.174133
    4 ETW000  [     dev trc,00000]   -> bind_type_and_length(sc_hdl=0000000003AEACD8,in_out=1,bulk=1,arr_size=65536,types=0000000002055240,da_p=00000000020551B0)
    4 ETW000                                                                                                  36  0.174169
    4 ETW000  [     dev trc,00000]  } DbSlHDBBegRead(rc=0)                                                    24  0.174193
    4 ETW000  [     dev trc,00000]  { DbSlHDBExeRead(con_hdl=0,ss_p=0000000002055160,da_p=00000000020551B0)
    4 ETW000                                                                                                  35  0.174228
    4 ETW000  [     dev trc,00000]   ABAP USER is not set                                                     20  0.174248
    4 ETW000  [     dev trc,00000]   -> exec_fetch(sc_hdl=0000000003AEACD8,bulk=0,da_p=00000000020551B0)
    4 ETW000                                                                                                  33  0.174281
    4 ETW000  [     dev trc,00000]      xcnt=1,row_i=0,row_pcnt=0                                             20  0.174301
    4 ETW000  [     dev trc,00000]   -> stmt_fetch(sc_hdl=0000000003AEACD8)                                   20  0.174321
    4 ETW000  [     dev trc,00000]    CURSOR C_0001 FETCH (xcnt=1) on connection 0                            20  0.174341
    4 ETW000&

    Hi,
    Could you check for SAP Note   1952701 - DBSL supports new HANA version number
    Regards,
    Gaurav

  • Unable load  library '/usr/lib64/php/modules/oci8.so' - libclntsh.so.11.1

    Dear all,
    I have a problem with OCI8 installation and I would appreciate if you could kindly guide me how to solve this issue.
    I started reading the following articles in order to learn how to install the OCI8 package allowing to connect from PHP to oracle
    http://www.php.net/manual/en/oci8.installation.php
    http://www.oracle.com/technetwork/articles/technote-php-instant-084410.html
    Here is my environment description
    OS: Fedora Core 17 (X86_64)
    Oracle version: Oracle Enterprise Edition 11gR2 (11.2.0.1.0) X86_64
    PHP Version: 5.4.13
    Apache version: 2.2.23Just a detail: almost every documentation starts by explaining the instant client installation. However, on the same physical machine, before even installing Apache and PHP. Oracle server had been completely installed, that is, both server and client (SQL*Plus, SQL*Loader, . . .). As a result, I omitted this step in the documentation and I continued by installation direcly OCI8 and apparently everything was compiled successfully (no error message).
    Problem: OCI8 doesn't show up in phpinfo()
    So it seems that there is a problem. I'm going to write down exactly how I proceeded and I would appreciate if you could kindly take a look at these steps and tell whether I made mistake(s)
    I started by running as ROOT. As I said the oracle server was already installed on the machine and so all the required environment variables such as LD_LIBRARY_PATH, ORACLE_SID, . . . were already defined in ~/.bash_profile
    And if you look at the below output, you can see that for example ORACLE_HOME was detected automatically during the installation (*checking Oracle ORACLE_HOME install directory... /u01/app/oracle/product/11.2.0/db_1*)
    # pecl install oci8This gave me the following output
    # pecl install oci8
    downloading oci8-1.4.9.tgz ...
    Starting to download oci8-1.4.9.tgz (169,255 bytes)
    .....................................done: 169,255 bytes
    10 source files, building
    running: phpize
    Configuring for:
    PHP Api Version:         20100412
    Zend Module Api No:      20100525
    Zend Extension Api No:   220100525
    Please provide the path to the ORACLE_HOME directory. Use 'instantclient,/path/to/instant/client/lib' if you're compiling with Oracle Instant Client [autodetect] :
    building in /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9
    running: /var/tmp/oci8/configure --with-oci8
    checking for grep that handles long lines and -e... /usr/bin/grep
    checking for egrep... /usr/bin/grep -E
    checking for a sed that does not truncate output... /usr/bin/sed
    checking for cc... cc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables...
    checking whether we are cross compiling... no
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether cc accepts -g... yes
    checking for cc option to accept ISO C89... none needed
    checking how to run the C preprocessor... cc -E
    checking for icc... no
    checking for suncc... no
    checking whether cc understands -c and -o together... yes
    checking for system library directory... lib
    checking if compiler supports -R... no
    checking if compiler supports -Wl,-rpath,... yes
    checking build system type... x86_64-unknown-linux-gnu
    checking host system type... x86_64-unknown-linux-gnu
    checking target system type... x86_64-unknown-linux-gnu
    checking for PHP prefix... /usr
    checking for PHP includes... -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib
    checking for PHP extension directory... /usr/lib64/php/modules
    checking for PHP installed headers prefix... /usr/include/php
    checking if debug is enabled... no
    checking if zts is enabled... no
    checking for re2c... no
    configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
    checking for gawk... gawk
    checking for Oracle Database OCI8 support... yes, shared
    checking PHP version... 5.4.13, ok
    checking for ANSI C header files... yes
    checking for sys/types.h... yes
    checking for sys/stat.h... yes
    checking for stdlib.h... yes
    checking for string.h... yes
    checking for memory.h... yes
    checking for strings.h... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for unistd.h... yes
    checking size of long int... 8
    checking checking if we're on a 64-bit platform... yes
    checking Oracle ORACLE_HOME install directory... /u01/app/oracle/product/11.2.0/db_1
    checking ORACLE_HOME library validity... lib
    checking Oracle library version compatibility... 11.1
    checking how to print strings... printf
    checking for a sed that does not truncate output... (cached) /usr/bin/sed
    checking for fgrep... /usr/bin/grep -F
    checking for ld used by cc... /usr/bin/ld
    checking if the linker (/usr/bin/ld) is GNU ld... yes
    checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
    checking the name lister (/usr/bin/nm -B) interface... BSD nm
    checking whether ln -s works... yes
    checking the maximum length of command line arguments... 1572864
    checking whether the shell understands some XSI constructs... yes
    checking whether the shell understands "+="... yes
    checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
    checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
    checking for /usr/bin/ld option to reload object files... -r
    checking for objdump... objdump
    checking how to recognize dependent libraries... pass_all
    checking for dlltool... no
    checking how to associate runtime and link libraries... printf %s\n
    checking for ar... ar
    checking for archiver @FILE support... @
    checking for strip... strip
    checking for ranlib... ranlib
    checking for gawk... (cached) gawk
    checking command to parse /usr/bin/nm -B output from cc object... ok
    checking for sysroot... no
    checking for mt... no
    checking if : is a manifest tool... no
    checking for dlfcn.h... yes
    checking for objdir... .libs
    checking if cc supports -fno-rtti -fno-exceptions... no
    checking for cc option to produce PIC... -fPIC -DPIC
    checking if cc PIC flag -fPIC -DPIC works... yes
    checking if cc static flag -static works... no
    checking if cc supports -c -o file.o... yes
    checking if cc supports -c -o file.o... (cached) yes
    checking whether the cc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
    checking whether -lc should be explicitly linked in... no
    checking dynamic linker characteristics... GNU/Linux ld.so
    checking how to hardcode library paths into programs... immediate
    checking whether stripping libraries is possible... yes
    checking if libtool supports shared libraries... yes
    checking whether to build shared libraries... yes
    checking whether to build static libraries... no
    configure: creating ./config.status
    config.status: creating config.h
    config.status: executing libtool commands
    running: make
    /bin/sh /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/libtool --mode=compile cc  -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo  -DHAVE_CONFIG_H  -g -O2   -c /var/tmp/oci8/oci8.c -o oci8.lo
    libtool: compile:  cc -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo -DHAVE_CONFIG_H -g -O2 -c /var/tmp/oci8/oci8.c  -fPIC -DPIC -o .libs/oci8.o
    /bin/sh /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/libtool --mode=compile cc  -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo  -DHAVE_CONFIG_H  -g -O2   -c /var/tmp/oci8/oci8_lob.c -o oci8_lob.lo
    libtool: compile:  cc -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo -DHAVE_CONFIG_H -g -O2 -c /var/tmp/oci8/oci8_lob.c  -fPIC -DPIC -o .libs/oci8_lob.o
    /bin/sh /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/libtool --mode=compile cc  -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo  -DHAVE_CONFIG_H  -g -O2   -c /var/tmp/oci8/oci8_statement.c -o oci8_statement.lo
    libtool: compile:  cc -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo -DHAVE_CONFIG_H -g -O2 -c /var/tmp/oci8/oci8_statement.c  -fPIC -DPIC -o .libs/oci8_statement.o
    /bin/sh /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/libtool --mode=compile cc  -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo  -DHAVE_CONFIG_H  -g -O2   -c /var/tmp/oci8/oci8_collection.c -o oci8_collection.lo
    libtool: compile:  cc -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo -DHAVE_CONFIG_H -g -O2 -c /var/tmp/oci8/oci8_collection.c  -fPIC -DPIC -o .libs/oci8_collection.o
    /bin/sh /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/libtool --mode=compile cc  -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo  -DHAVE_CONFIG_H  -g -O2   -c /var/tmp/oci8/oci8_interface.c -o oci8_interface.lo
    libtool: compile:  cc -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo -DHAVE_CONFIG_H -g -O2 -c /var/tmp/oci8/oci8_interface.c  -fPIC -DPIC -o .libs/oci8_interface.o
    /bin/sh /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/libtool --mode=link cc -DPHP_ATOM_INC -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/include -I/var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/u01/app/oracle/product/11.2.0/db_1/rdbms/public -I/u01/app/oracle/product/11.2.0/db_1/rdbms/demo  -DHAVE_CONFIG_H  -g -O2   -o oci8.la -export-dynamic -avoid-version -prefer-pic -module -rpath /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/modules  oci8.lo oci8_lob.lo oci8_statement.lo oci8_collection.lo oci8_interface.lo -Wl,-rpath,/u01/app/oracle/product/11.2.0/db_1/lib -L/u01/app/oracle/product/11.2.0/db_1/lib -lclntsh
    libtool: link: cc -shared  -fPIC -DPIC  .libs/oci8.o .libs/oci8_lob.o .libs/oci8_statement.o .libs/oci8_collection.o .libs/oci8_interface.o   -L/u01/app/oracle/product/11.2.0/db_1/lib -lclntsh  -O2 -Wl,-rpath -Wl,/u01/app/oracle/product/11.2.0/db_1/lib   -Wl,-soname -Wl,oci8.so -o .libs/oci8.so
    libtool: link: ( cd ".libs" && rm -f "oci8.la" && ln -s "../oci8.la" "oci8.la" )
    /bin/sh /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/libtool --mode=install cp ./oci8.la /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/modules
    libtool: install: cp ./.libs/oci8.so /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/modules/oci8.so
    libtool: install: cp ./.libs/oci8.lai /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/modules/oci8.la
    libtool: finish: PATH="/usr/bin:/usr/lib64/qt-3.3/bin:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/.local/bin:/root/bin:/usr/local/jdk1.7.0_05/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/u01/app/oracle/product/11.2.0/db_1/bin:/opt/libreoffice4.0/program:/root/.local/bin:/root/bin:/usr/local/jdk1.7.0_05/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/u01/app/oracle/product/11.2.0/db_1/bin:/opt/libreoffice4.0/program:/root/.local/bin:/root/bin:/usr/local/jdk1.7.0_05/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/u01/app/oracle/product/11.2.0/db_1/bin:/opt/libreoffice4.0/program:/root/.local/bin:/root/bin:/usr/local/jdk1.7.0_05/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/u01/app/oracle/product/11.2.0/db_1/bin:/opt/libreoffice4.0/program:/root/.local/bin:/root/bin:/usr/local/jdk1.7.0_05/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/u01/app/oracle/product/11.2.0/db_1/bin:/op
    t/libreoffice4.0/program:/root/.local/bin:/root/bin:/usr/local/jdk1.7.0_05/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/u01/app/oracle/product/11.2.0/db_1/bin:/opt/libreoffice4.0/program:/sbin" ldconfig -n /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/modules
    Libraries have been installed in:
       /var/tmp/pear-build-rootGiD7YE/oci8-1.4.9/modules
    If you ever happen to want to link against installed libraries
    in a given directory, LIBDIR, you must either use libtool, and
    specify the full pathname of the library, or use the `-LLIBDIR'
    flag during linking and do at least one of the following:
       - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
         during execution
       - add LIBDIR to the `LD_RUN_PATH' environment variable
         during linking
       - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
       - have your system administrator add LIBDIR to `/etc/ld.so.conf'
    See any operating system documentation about shared libraries for
    more information, such as the ld(1) and ld.so(8) manual pages.
    Build complete.
    Don't forget to run 'make test'.
    running: make INSTALL_ROOT="/var/tmp/pear-build-rootGiD7YE/install-oci8-1.4.9" install
    Installing shared extensions:     /var/tmp/pear-build-rootGiD7YE/install-oci8-1.4.9/usr/lib64/php/modules/
    running: find "/var/tmp/pear-build-rootGiD7YE/install-oci8-1.4.9" | xargs ls -dils
    3679979   4 drwxr-xr-x. 3 root root   4096 Apr  4 15:48 /var/tmp/pear-build-rootGiD7YE/install-oci8-1.4.9
    3680009   4 drwxr-xr-x. 3 root root   4096 Apr  4 15:48 /var/tmp/pear-build-rootGiD7YE/install-oci8-1.4.9/usr
    3680010   4 drwxr-xr-x. 3 root root   4096 Apr  4 15:48 /var/tmp/pear-build-rootGiD7YE/install-oci8-1.4.9/usr/lib64
    3680011   4 drwxr-xr-x. 3 root root   4096 Apr  4 15:48 /var/tmp/pear-build-rootGiD7YE/install-oci8-1.4.9/usr/lib64/php
    3680012   4 drwxr-xr-x. 2 root root   4096 Apr  4 15:48 /var/tmp/pear-build-rootGiD7YE/install-oci8-1.4.9/usr/lib64/php/modules
    3680008 596 -rwxr-xr-x. 1 root root 606865 Apr  4 15:48 /var/tmp/pear-build-rootGiD7YE/install-oci8-1.4.9/usr/lib64/php/modules/oci8.so
    Build process completed successfully
    Installing '/usr/lib64/php/modules/oci8.so'
    install ok: channel://pecl.php.net/oci8-1.4.9
    configuration option "php_ini" is not set to php.ini location
    You should add "extension=oci8.so" to php.ini
    # Once OCI8 was installed I updated the */etc/php.ini* accordingly by adding the following entries
    ; Dynamic Extensions ;
    ; If you wish to have an extension loaded automatically, use the following
    ; syntax:
    ;   extension=modulename.extension
    extension=oci8.so
    ; Paths and Directories ;
    ; UNIX: "/path1:/path2"
    extension_dir="/usr/lib64/php/modules"Also I updated the */etc/sysconfig/httpd* in order to export the specified set of OS environment variables. So I added the following lines at the end of the file
    ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
    LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0/db_1/lib:/u01/app/oracle/product/11.2.0/db_1/network/lib
    LD_LIBRARY_PATH64=/u01/app/oracle/product/11.2.0/db_1/lib:/u01/app/oracle/product/11.2.0/db_1/network/lib
    TNS_ADMIN=/u01/app/oracle/product/11.2.0/db_1/network/admin
    NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252
    ORACLE_SID=db01In order to check that these values are actually taken into account by Apache, I run
    # service httpd restartThen I run a PHP script with phpinfo() and in the section Environment the above values were present in particular the LD_LIBRARY_PATH variable.
    However, as I said, there is no OCI8 entry in phpinfo() output. I checked the apache log file and I saw that there is a problem
    # cat /var/log/httpd/error_log
    [Thu Apr 04 16:02:13 2013] [notice] SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0
    [Thu Apr 04 16:02:13 2013] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
    [Thu Apr 04 16:02:13 2013] [notice] Digest: generating secret for digest authentication ...
    [Thu Apr 04 16:02:13 2013] [notice] Digest: done
    PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/oci8.so' - libclntsh.so.11.1: cannot open shared object file: No such file or directory in Unknown on line 0
    [Thu Apr 04 16:02:13 2013] [warn] mod_wsgi: Compiled for Python/2.7.2.
    [Thu Apr 04 16:02:13 2013] [warn] mod_wsgi: Runtime using Python/2.7.3.
    [Thu Apr 04 16:02:13 2013] [notice] Apache/2.2.23 (Unix) DAV/2 PHP/5.4.13 mod_wsgi/3.3 Python/2.7.3 configured -- resuming normal operations
    #What I understand from the above log is that the shared library libclntsh.so.11.1 cannot be found. Yet I checked and I saw that it is present in LD_LIBRARY_PATH
    # locate libclntsh.so
    /u01/app/oracle/product/11.2.0/db_1/inventory/Scripts/ext/lib/libclntsh.so.11.1
    /u01/app/oracle/product/11.2.0/db_1/inventory/backup/2012-06-25_12-08-41PM/Scripts/ext/lib/libclntsh.so.11.1
    /u01/app/oracle/product/11.2.0/db_1/lib/libclntsh.so
    /u01/app/oracle/product/11.2.0/db_1/lib/libclntsh.so.10.1
    /u01/app/oracle/product/11.2.0/db_1/lib/libclntsh.so.11.1
    # So the last line, shows that the specified library exists in */u01/app/oracle/product/11.2.0/db_1/lib/libclntsh.so.11.1*.
    So I don't really seem what is the problem and the more strange thing is that in command line PHP seem to detect my oracle server parameters.
    $ php --ri oci8
    oci8
    OCI8 Support => enabled
    Version => 1.4.9
    Revision => $Id: e2241cffb72c940cb2ca267b7a6a0ce436de7e5e $
    Active Persistent Connections => 0
    Active Connections => 0
    Oracle Run-time Client Library Version => 11.2.0.1.0
    Oracle Version => 11.2
    Compile-time ORACLE_HOME => /u01/app/oracle/product/11.2.0/db_1
    Libraries Used => -Wl,-rpath,/u01/app/oracle/product/11.2.0/db_1/lib -L/u01/app/oracle/product/11.2.0/db_1/lib  -lclntsh
    Temporary Lob support => enabled
    Collections support => enabled
    Directive => Local Value => Master Value
    oci8.max_persistent => -1 => -1
    oci8.persistent_timeout => -1 => -1
    oci8.ping_interval => 60 => 60
    oci8.privileged_connect => Off => Off
    oci8.statement_cache_size => 20 => 20
    oci8.default_prefetch => 100 => 100
    oci8.old_oci_close_semantics => Off => Off
    oci8.connection_class => no value => no value
    oci8.events => Off => Off
    $ I thought maybe there are several different php.ini and the one used within GUI is not the same used in CLI but a search showed that there is just one php.ini file
    # locate php.ini
    /etc/php.ini
    # php -i | grep Configuration
    Configuration File (php.ini) Path => /etc
    Loaded Configuration File => /etc/php.ini
    Configuration
    #It is almost 3 days that I'm googling without success to find the solution to this problem.
    So, could someone help me, what is the problem? Why the OCI8 module cannot be loaded by PHP and become visible in the phpinfo() output?
    Thanks in advance,
    Regards,
    Dariyoosh

    cj wrote:
    Try disabling SELinux. On Oracle Linux you would edit /etc/selinux/config, set SELINUX to DISABLED, and reboot. Also see the setenforce command.Yes !!!!!!!!
    Thanks man it worked !! It was SELinux which was blocking the library load. Now I have OCI8 entry in phpinfo(). At the same time as we saw before the PHP in command line could detect OCI8, maybe this means that SELinux doesn't have the same impact in CLI as in GUI. Conclusion, you were totally correct about defining the environment variables in /etc/syscnfig/httpd. The variables were actually defined (with a slight difference in syntax that I will show below), yet SELinux prevented PHP from loading the oracle libraray.
    I also wrote a test SQL script (SELECT employee_id FROM employees WHERE department_id = 100) and the result was printed on the screen perfectly.
    So for those who may have encountered the same problem with the same environment parameters I'm going to give a summary of how I proceeded in the case where it might be helpful for others.
    My environment
    OS: Linux Fedora Core 17 (X86_64)
    Oracle version: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit
    Apache version (httpd): Apache 2.0
    PHP version: 5.4.13
    Before the installation
    Before the installation I disabled SELinux. At the time of writing I'm not an expert of SELinux so I don't know any rule modification in order to modify SELinux policy accordingly allowing to OCI8 module to load oracle libraries. As a result I finally disabled completely the SELinux on my system which may have serious security impacts! This can be done in the following way (being as root)
    # vim  /etc/selinux/configThe file content is something similar to the following
    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    #     enforcing - SELinux security policy is enforced.
    #     permissive - SELinux prints warnings instead of enforcing.
    #     disabled - No SELinux policy is loaded.
    SELINUX=enforcing
    # SELINUXTYPE= can take one of these two values:
    #     targeted - Targeted processes are protected,
    #     minimum - Modification of targeted policy. Only selected processes are protected.
    #     mls - Multi Level Security protection.
    SELINUXTYPE=targeted So what I did was that I put a comment at the beginning of the line SELINUX=enforcing and instead I added a new line right after that line which was SELINUX=disabled.
    Finally I rebooted the system.
    Installation:
    - Make sure that all oracle environment variables are defined in ~/.bash_profile of the user who installs OCI8. Otherwise you will have to enter manually the path to $ORACLE_HOME. I tested both ways and each method works pretty well. Yet I find the first one more elegant because it detects automatically everything
    - In my case, PHP, Apache and Oracle server were all on the same physical machine, therefore I didn't need to install the Oracle Instant client*. All the required oracle libraries for OCI8 were therefore already available.
    - being as ROOT, I run the following (I don't know whether this was mandatory but I prefered to stop httpd before installing OCI8)
    # pecl install oci8(On my machine pecl was already there, if not you can install it by using yum)
    - Once installation is over, at the end of the installation report in the terminal you will get something like this
    >
    Build process completed successfully
    Installing '/usr/lib64/php/modules/oci8.so'
    install ok: channel://pecl.php.net/oci8-1.4.9
    configuration option "php_ini" is not set to php.ini location
    You should add "extension=oci8.so" to php.ini
    >
    The two bold lines above shows what you have to put in your php.ini file (on my computer this file is in */etc/php.ini* )
    So I updated the php.ini file in the following way:
    ; Dynamic Extensions ;
    ; If you wish to have an extension loaded automatically, use the following
    ; syntax:
    ;   extension=modulename.extension
    extension=oci8.so
    ; Paths and Directories ;
    ; UNIX: "/path1:/path2"
    extension_dir="/usr/lib64/php/modules"Then you have to define the required oracle environment variables for Apache. According to what I read in http://www.oracle.com/technetwork/topics/php/underground-php-oracle-manual-098250.html and in several forums while I was googling for this problem and also based on my own tests, it seems to me that depending on which Apache version you're using, the syntax for declaring the environment variables in */etc/sysconfig/httpd* is not the same.
    Here is what I added at the end of the file /etc/sysconfig/httpd
    ORACLE_BASE=/u01/app/oracle
    ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
    LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0/db_1/lib:/u01/app/oracle/product/11.2.0/db_1/network/lib
    TNS_ADMIN=/u01/app/oracle/product/11.2.0/db_1/network/admin
    NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252
    ORACLE_SID=db01I tried to use the export keyword before the variable names but it didn't work for me, yet I saw in other forums that there were people who apparently had used that syntax successfully. So again it is a matter of personal observation. For me using Apache 2.0, only the above syntax works. Also if I use $ in order to expand the environment variables it doesn't work
    so for example instead of writing
    ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
    LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/libI had to write explicitly the expanded values myself, that is,
    ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
    LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0/db_1/lib:/u01/app/oracle/product/11.2.0/db_1/network/libOnce this is done, restart httpd
    # service httpd startIf everything went well, normally you will see the OCI8 entry if you run phpinfo() in a test PHP script.
    Hope this may help others,
    Once again, thanks a lot to cj for his time and his valuable help for solving my problem.
    Regards,
    Dariyoosh

  • OCI8 compile errors on SLES 10

    I'm stuck. New to Linux, so the error messages are greek. I've googled for days. Can anyone decipher the issue here? Thanks in advance for any help!!
    Used RPM to install instant client 10.2.0.4 (user didn't want v11).
    PHP 5.2.5 installed.
    Used yast to install php5-dev pacakge
    Receive the following output when trying to install oci8 using pecl (sorry it's so long, but I didn't know which part was important - and I did delete a chunk out of the middle that seemed repetitive, since there is a character limit in this forum...):
    +<server>:~ # pecl install oci8+
    downloading oci8-1.3.5.tar ...
    Starting to download oci8-1.3.5.tar (Unknown size)
    +.............................................done: 1,071,616 bytes+
    +10 source files, building+
    running: phpize
    Configuring for:
    PHP Api Version:         20041225
    Zend Module Api No:      20060613
    Zend Extension Api No:   220060519
    +1. Please provide the path to the ORACLE_HOME directory. Use+
    +'instantclient,/path/to/instant/client/lib' if you're compiling with Oracle Instant+
    Client : autodetect
    +1-1, 'all', 'abort', or Enter to continue:+
    building in /var/tmp/pear-build-<username>/oci8-1.3.5
    +running: /tmp/pear/cache/oci8-1.3.5/configure --with-oci8+
    checking for egrep... grep -E
    checking for a sed that does not truncate output... /usr/bin/sed
    checking for gcc... gcc
    checking for C compiler default output file name... a.out
    checking whether the C compiler works... yes
    checking whether we are cross compiling... no
    checking for suffix of executables...
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to accept ANSI C... none needed
    checking whether gcc and cc understand -c and -o together... yes
    checking for system library directory... lib
    checking if compiler supports -R... no
    checking if compiler supports -Wl,-rpath,... yes
    checking build system type... i686-suse-linux
    checking host system type... i686-suse-linux
    checking target system type... i686-suse-linux
    checking for PHP prefix... /usr
    checking for PHP includes... -I/usr/include/php5 -I/usr/include/php5/main
    -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext
    -I/usr/include/php5/ext/date/lib
    checking for PHP extension directory... /usr/lib/php5/extensions
    checking for PHP installed headers prefix... /usr/include/php5
    checking for re2c... no
    configure: WARNING: You will need re2c 0.12.0 or later if you want to regenerate
    PHP parsers.
    checking for gawk... gawk
    checking for Oracle (OCI8) support... yes, shared
    checking PHP version... 5.2.5, ok
    checking how to run the C preprocessor... gcc -E
    checking for ANSI C header files... yes
    checking for sys/types.h... yes
    checking for sys/stat.h... yes
    checking for stdlib.h... yes
    checking for string.h... yes
    checking for memory.h... yes
    checking for strings.h... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for unistd.h... yes
    checking for long int... yes
    checking size of long int... 4
    checking checking if we're on a 64-bit platform... no
    checking Oracle ORACLE_HOME install directory... /usr/lib/oracle/10.2.0.4/client
    checking ORACLE_HOME library validity... lib
    checking Oracle version... 10.1
    checking for ld used by gcc... /usr/i586-suse-linux/bin/ld
    checking if the linker (/usr/i586-suse-linux/bin/ld) is GNU ld... yes
    checking for /usr/i586-suse-linux/bin/ld option to reload object files... -r
    checking for BSD-compatible nm... /usr/bin/nm -B
    checking whether ln -s works... yes
    checking how to recognise dependent libraries... pass_all
    checking dlfcn.h usability... yes
    checking dlfcn.h presence... yes
    checking for dlfcn.h... yes
    checking for g77... no
    checking for f77... no
    checking for xlf... no
    checking for frt... no
    checking for pgf77... no
    checking for fort77... no
    checking for fl32... no
    checking for af77... no
    checking for f90... no
    checking for xlf90... no
    checking for pgf90... no
    checking for epcf90... no
    checking for f95... no
    checking for fort... no
    checking for xlf95... no
    checking for ifc... no
    checking for efc... no
    checking for pgf95... no
    checking for lf95... no
    checking for gfortran... gfortran
    checking whether we are using the GNU Fortran 77 compiler... yes
    checking whether gfortran accepts -g... yes
    checking the maximum length of command line arguments... 32768
    checking command to parse /usr/bin/nm -B output from gcc object... ok
    checking for objdir... .libs
    checking for ar... ar
    checking for ranlib... ranlib
    checking for strip... strip
    checking if gcc supports -fno-rtti -fno-exceptions... no
    checking for gcc option to produce PIC... -fPIC
    checking if gcc PIC flag -fPIC works... yes
    checking if gcc static flag -static works... yes
    checking if gcc supports -c -o file.o... yes
    checking whether the gcc linker (/usr/i586-suse-linux/bin/ld) supports shared
    libraries... yes
    checking whether -lc should be explicitly linked in... no
    checking dynamic linker characteristics... cat: /etc/ld.so.conf.d/*.conf: No such
    file or directory
    GNU/Linux ld.so
    checking how to hardcode library paths into programs... immediate
    checking whether stripping libraries is possible... yes
    checking if libtool supports shared libraries... yes
    checking whether to build shared libraries... yes
    checking whether to build static libraries... no
    configure: creating libtool
    appending configuration tag "CXX" to libtool
    appending configuration tag "F77" to libtool
    checking if libtool supports shared libraries... yes
    checking whether to build shared libraries... yes
    checking whether to build static libraries... no
    checking for gfortran option to produce PIC... -fPIC
    checking if gfortran PIC flag -fPIC works... yes
    checking if gfortran static flag -static works... yes
    checking if gfortran supports -c -o file.o... yes
    checking whether the gfortran linker (/usr/i586-suse-linux/bin/ld) supports shared
    libraries... yes
    checking dynamic linker characteristics... cat: /etc/ld.so.conf.d/*.conf: No such
    file or directory
    GNU/Linux ld.so
    checking how to hardcode library paths into programs... immediate
    configure: creating ./config.status
    config.status: creating config.h
    running: make
    +/bin/sh /var/tmp/pear-build-<username>/oci8-1.3.5/libtool --mode=compile gcc  -I.+
    -I/tmp/pear/cache/oci8-1.3.5 -DPHP_ATOM_INC
    -I/var/tmp/pear-build-<username>/oci8-1.3.5/include
    -I/var/tmp/pear-build-<username>/oci8-1.3.5/main -I/tmp/pear/cache/oci8-1.3.5
    -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM
    -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib
    -DHAVE_CONFIG_H  -g -O2   -c /tmp/pear/cache/oci8-1.3.5/oci8.c -o oci8.lo
    mkdir .libs
    gcc -I. -I/tmp/pear/cache/oci8-1.3.5 -DPHP_ATOM_INC
    -I/var/tmp/pear-build-<username>/oci8-1.3.5/include
    -I/var/tmp/pear-build-<username>/oci8-1.3.5/main -I/tmp/pear/cache/oci8-1.3.5
    -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM
    -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib
    -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/cache/oci8-1.3.5/oci8.c  -fPIC -DPIC -o
    +.libs/oci8.o+
    In file included from /tmp/pear/cache/oci8-1.3.5/oci8.c:51:
    +/tmp/pear/cache/oci8-1.3.5/php_oci8_int.h:56:17: error: oci.h: No such file or+
    directory
    In file included from /tmp/pear/cache/oci8-1.3.5/oci8.c:51:
    specifier-qualifier-list before 'text'
    +/tmp/pear/cache/oci8-1.3.5/php_oci8_int.h:183: error: expected+
    function)
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:992: error: (Each undeclared identifier is+
    reported only once
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:992: error: for each function it appears in.)+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:992: error: expected ';' before 'errstatus'+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:993: error: 'sb4' undeclared (first use in this+
    named 'env'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:1042: error: called object+
    +'<erroneous-expression>' is not a function+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:1042: error: 'OCI_HTYPE_ENV' undeclared (first+
    use in this function)
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:1044: error: 'zend_oci_globals' has no member+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2392: error: 'php_oci_out_column' has no+
    member named 'retlen'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2392: warning: assignment makes integer from+
    pointer without a cast
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2401: error: 'php_oci_out_column' has no+
    member named 'data'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2401: warning: initialization from incompatible+
    pointer type
    +/tmp/pear/cache/oci8-1.3.5/oci8.c: In function 'php_oci_fetch_row':+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2416: error: 'ub4' undeclared (first use in this+
    function)
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2416: error: expected ';' before 'nrows'+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2462: error: 'nrows' undeclared (first use in this+
    function)
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2462: error: too many arguments to function+
    +'php_oci_statement_fetch'+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2468: error: 'php_oci_statement' has no+
    member named 'ncolumns'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2468: warning: comparison between pointer and+
    integer
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2475: error: 'php_oci_out_column' has no+
    member named 'idle_expiry'
    named 'debug_mode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2568: error: 'zend_oci_globals' has no member+
    named 'in_call'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2568: error: 'zend_oci_globals' has no member+
    named 'errcode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2568: error: 'php_oci_spool' has no member+
    named 'env'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2568: error: 'dvoid' undeclared (first use in this+
    function)
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2568: error: expected expression before ')'+
    token
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2568: error: invalid operands to binary *+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2568: error: 'zend_oci_globals' has no member+
    named 'in_call'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2570: error: 'zend_oci_globals' has no member+
    named 'errcode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2570: error: 'OCI_SUCCESS' undeclared (first+
    use in this function)
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2571: error: 'zend_oci_globals' has no member+
    named 'err'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2571: error: 'zend_oci_globals' has no member+
    named 'errcode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2580: error: 'zend_oci_globals' has no member+
    named 'debug_mode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2580: error: 'zend_oci_globals' has no member+
    named 'in_call'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2580: error: 'zend_oci_globals' has no member+
    named 'errcode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2580: error: expected expression before ')'+
    token
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2580: error: invalid operands to binary *+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2580: error: 'zend_oci_globals' has no member+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2592: error: 'OCI_SPC_HOMOGENEOUS'+
    undeclared (first use in this function)
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2598: error: 'zend_oci_globals' has no member+
    named 'debug_mode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2598: error: 'zend_oci_globals' has no member+
    named 'in_call'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2598: error: 'zend_oci_globals' has no member+
    named 'errcode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2598: error: 'OraText' undeclared (first use in+
    this function)
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2598: error: expected expression before ')'+
    token
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2598: error: invalid operands to binary *+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2598: error: 'zend_oci_globals' has no member+
    named 'in_call'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2600: error: 'zend_oci_globals' has no member+
    named 'persistent_timeout'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2608: error: expected ';' before 'timeout'+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2610: error: 'zend_oci_globals' has no member+
    named 'debug_mode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2610: error: 'zend_oci_globals' has no member+
    named 'in_call'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2610: error: 'zend_oci_globals' has no member+
    named 'errcode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2610: error: expected expression before ')'+
    token
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2610: error: invalid operands to binary *+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2610: error: 'zend_oci_globals' has no member+
    named 'in_call'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2612: error: 'zend_oci_globals' has no member+
    named 'errcode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2613: error: 'zend_oci_globals' has no member+
    named 'err'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2613: error: 'zend_oci_globals' has no member+
    named 'errcode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2625: error: 'zend_oci_globals' has no member+
    named 'debug_mode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c: In function 'php_oci_get_spool':+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2680: error: 'php_oci_spool' has no member+
    named 'spool_hash_key'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2680: error: 'php_oci_spool' has no member+
    named 'spool_hash_key'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2680: warning: passing argument 1 of 'strlen'+
    from incompatible pointer type
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2680: warning: passing argument 2 of+
    +'_zend_hash_add_or_update' from incompatible pointer type+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2682: error: 'php_oci_spool' has no member+
    named 'spool_hash_key'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2682: warning: passing argument 1 of 'strlen'+
    from incompatible pointer type
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2683: error: 'php_oci_spool' has no member+
    named 'spool_hash_key'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c: At top level:+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2703: error: expected '=', ',', ';', 'asm' or+
    +'__attribute__' before '*' token+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c: In function 'php_oci_old_create_session':+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2728: error: 'ub4' undeclared (first use in this+
    function)
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2728: error: expected ';' before+
    +'statement_cache_size'+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2730: error: 'zend_oci_globals' has no member+
    named 'debug_mode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2735: error: 'php_oci_connection' has no+
    member named 'env'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2735: error: 'php_oci_connection' has no+
    member named 'charset'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2740: error: 'zend_oci_globals' has no member+
    named 'debug_mode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2740: error: 'zend_oci_globals' has no member+
    named 'in_call'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2740: error: 'zend_oci_globals' has no member+
    named 'errcode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2740: error: 'php_oci_connection' has no+
    member named 'env'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2740: error: 'dvoid' undeclared (first use in this+
    function)
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2740: error: expected expression before ')'+
    token
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2740: error: invalid operands to binary *+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2740: error: 'zend_oci_globals' has no member+
    named 'in_call'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2742: error: 'zend_oci_globals' has no member+
    named 'errcode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2742: error: 'OCI_SUCCESS' undeclared (first+
    named 'in_call'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2748: error: 'zend_oci_globals' has no member+
    named 'errcode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2748: error: 'php_oci_connection' has no+
    named 'errcode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2792: error: expected expression before ')'+
    token
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2792: error: invalid operands to binary *+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2792: error: 'zend_oci_globals' has no member+
    named 'in_call'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2794: error: 'zend_oci_globals' has no member+
    named 'debug_mode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2801: error: 'zend_oci_globals' has no member+
    named 'in_call'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2801: error: 'zend_oci_globals' has no member+
    named 'errcode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2801: error: 'php_oci_connection' has no+
    member named 'svc'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2801: error: 'OCI_HTYPE_SVCCTX' undeclared+
    +(first use in this function)+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2801: error: 'php_oci_connection' has no+
    member named 'server'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2801: error: 'OCI_ATTR_SERVER' undeclared+
    +(first use in this function)+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2801: error: 'zend_oci_globals' has no member+
    named 'errcode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2809: error: 'php_oci_connection' has no+
    member named 'svc'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2809: error: 'php_oci_connection' has no+
    member named 'session'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2809: error: 'OCI_ATTR_SESSION' undeclared+
    +(first use in this function)+
    named 'errcode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2818: error: 'php_oci_connection' has no+
    member named 'svc'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2818: error: 'zend_oci_globals' has no member+
    named 'err'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2818: error: expected expression before ')'+
    token
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2818: error: invalid operands to binary *+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2818: error: 'zend_oci_globals' has no member+
    named 'in_call'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2820: error: 'zend_oci_globals' has no member+
    named 'errcode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2821: error: 'zend_oci_globals' has no member+
    named 'errcode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2825: error: expected expression before ')'+
    token
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2825: error: invalid operands to binary *+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2825: error: 'zend_oci_globals' has no member+
    named 'errcode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2833: error: expected ';' before 'cred_type'+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2837: error: 'cred_type' undeclared (first use in+
    this function)
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2837: error: 'OCI_CRED_EXT' undeclared (first+
    use in this function)
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2841: error: 'OCI_STMT_CACHE' undeclared+
    +(first use in this function)+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2841: error: invalid operands to binary |+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2841: error: incompatible types in assignment+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2843: error: 'zend_oci_globals' has no member+
    named 'errcode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2843: error: 'php_oci_connection' has no+
    member named 'svc'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2843: error: 'zend_oci_globals' has no member+
    named 'err'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2843: error: 'php_oci_connection' has no+
    member named 'session'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2843: error: expected ')' before 'cred_type'+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2843: error: 'zend_oci_globals' has no member+
    named 'in_call'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2845: error: 'zend_oci_globals' has no member+
    named 'errcode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2850: error: 'OCI_SUCCESS_WITH_INFO'+
    undeclared (first use in this function)
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2857: error: 'zend_oci_globals' has no member+
    named 'err'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2857: warning: comparison between pointer and+
    integer
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2858: error: 'zend_oci_globals' has no member+
    named 'in_call'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2862: error: 'zend_oci_globals' has no member+
    named 'errcode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2862: error: expected expression before ')'+
    token
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2862: error: invalid operands to binary *+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2862: error: 'zend_oci_globals' has no member+
    named 'in_call'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2864: error: 'zend_oci_globals' has no member+
    named 'err'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2991: error: 'ub1' undeclared (first use in this+
    function)
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2991: error: expected expression before ')'+
    token
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2991: error: invalid operands to binary *+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2991: error: 'zend_oci_globals' has no member+
    named 'in_call'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2992: error: 'zend_oci_globals' has no member+
    named 'errcode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2993: error: 'zend_oci_globals' has no member+
    named 'errcode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2997: error: 'php_oci_connection' has no+
    member named 'next_pingp'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2999: error: 'zend_oci_globals' has no member+
    named 'err'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:2999: warning: comparison between pointer and+
    named 'errcode'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:3003: error: 'php_oci_connection' has no+
    member named 'next_pingp'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:3003: error: invalid operands to binary >+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:3003: error: 'php_oci_connection' has no+
    member named 'next_pingp'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:3003: error: invalid operands to binary >=+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:3006: error: 'php_oci_connection' has no+
    member named 'next_pingp'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:3006: error: 'zend_oci_globals' has no member+
    named 'spool_hash_key'
    +/tmp/pear/cache/oci8-1.3.5/oci8.c: At top level:+
    +/tmp/pear/cache/oci8-1.3.5/oci8.c:3082: error: expected '=', ',', ';', 'asm' or+
    +'__attribute__' before 'php_oci_ping_init'+
    +make: *** [oci8.lo] Error 1+
    ERROR: `make' failed
    +<server>:~ #+

    Unset ORACLE_HOME. It should not be set for Instant Client (except in one rare case).
    Also instead of leaving the install to "autodetect", try using the form "instantclient,/usr/lib/oracle/10.2.0.4/client/lib". See http://blogs.oracle.com/opal/2009/03/pecl_install_prompts_explained.html for a discussion of answering the PECL install prompts.
    Also see http://www.oracle.com/technology/pub/notes/technote_php_instant.html
    and http://www.oracle.com/technology/tech/php/pdf/underground-php-oracle-manual.pdf

Maybe you are looking for