From: Christopher Jones Date: Sun, 27 Jul 2008 17:48:16 +0000 (+0000) Subject: Update README. Bump ver ready for PECL release X-Git-Tag: BEFORE_HEAD_NS_CHANGE~1011 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e10ebdfee7d92e105d711c51f255bd02acc4aaf6;p=php Update README. Bump ver ready for PECL release --- diff --git a/ext/oci8/README b/ext/oci8/README index c5d541f862..7462cf4903 100644 --- a/ext/oci8/README +++ b/ext/oci8/README @@ -2,19 +2,21 @@ Installing OCI8 --------------- 0. Overview -1. Common requirements. -2. Installing as shared extension. -3. Installing as statically compiled extension. -4. Installing from PECL. +1. Common requirements +2. Installing as a shared extension +3. Installing as a statically compiled extension +4. Installing from PECL to an existing PHP 5. Testing OCI8 -6. DRCP and FAN Support +6. Oracle DRCP and FAN Support + 0. Overview ----------- The OCI8 extension allows you to access Oracle databases. It can be built using Oracle 9.2, 10.2 or 11.1 client libraries, and allows -Oracle's standard cross-version connectivity. +Oracle's standard cross-version connectivity. This release can be +used with PHP 6. The OCI8 extension is not related to or used by PDO_OCI, the PHP Data Objects (PDO) extension for Oracle. @@ -22,22 +24,41 @@ Objects (PDO) extension for Oracle. 1. Common requirements ---------------------- -This version of PHP OCI8 will build with Oracle 9.2 (or more recent) -client libraries. +This version of PHP OCI8: + + - Will build with Oracle 9.2 (or more recent) client libraries. The + same (or more recent) version of Oracle libraries used when + building OCI8 must also be used at runtime. + + - Can be used with PHP versions 4.3.9 to 5.x. + +If you build PHP with the "ORACLE_HOME" Oracle database or full Oracle +client libraries: + + - you MUST set at least the ORACLE_HOME environment variable and + make it visible for your web server BEFORE it starts. + + - the Oracle software must be readable by the web server. With + Oracle 10.2, see the $ORACLE_HOME/install/changePerm.sh script + included in patch releases. + +If you build PHP with Oracle Instant Client libraries from +http://www.oracle.com/technology/tech/oci/instantclient/index.html + + - either the "basic" or "basic-lite" package is required. -If you use a common Oracle Client installation that comes with the -Oracle server installation, you MUST set at least the ORACLE_HOME -environment variable and make it visible for your web-server BEFORE it -starts. + - the "devel" package is required. -If you use Oracle Instant Client, you don't have to set ORACLE_HOME -and many of the other environment variables to build PHP with OCI8 -support. The only variables you may have to set are: + - you don't have to set ORACLE_HOME and many of the other + environment variables to build PHP with OCI8 support. - LD_LIBRARY_PATH - it must include the Instant Client library directory +For both ORACLE_HOME and Instant Client installs you may have to set: - NLS_LANG - if you want to change the default encoding used during - interaction with Oracle servers + - LD_LIBRARY_PATH: it must include the $ORACLE_HOME/lib or Instant + Client library directory + + - NLS_LANG: if you want to change the default encoding used during + interaction with Oracle servers The most appropriate places to add the environment variables are: @@ -45,55 +66,100 @@ The most appropriate places to add the environment variables are: /etc/profile.local /etc/profile.d -2. Installing as shared extension ---------------------------------- -To install OCI8 as a shared extension (i.e. the one you should put -into your php.ini) use the following configure lines to configure PHP: +2. Installing as a shared extension +----------------------------------- + +Configure OCI8 using one of the the following configure options: -a) if you use a common Oracle or Oracle Client installation: + a) if you use an Oracle server or Oracle Client installation: - ./configure --with-oci8=shared,$ORACLE_HOME + ./configure --with-oci8=shared,$ORACLE_HOME -b) with Oracle Instant Client: + b) with Oracle Instant Client: - ./configure --with-oci8=shared,instantclient,/path/to/instant/client/lib + ./configure --with-oci8=shared,instantclient,/path/to/instant/client/lib -If you use an RPM-based installation of Oracle Instant Client, your configure -line will look like this: + If you use an RPM-based installation of Oracle Instant Client, + your configure line will look like this: - ./configure --with-oci8=shared,instantclient,/usr/lib/oracle//client/lib + ./configure --with-oci8=shared,instantclient,/usr/lib/oracle//client/lib -Follow the usual building procedure after that and you'll get an OCI8 -shared extension (i.e. oci8.so). Add it into the php.ini file like -this: +Follow the usual building procedure, e.g. "make install". The OCI8 +shared extension oci8.so will be created. It may need to be manually +moved to the PHP extension directory, specified by the extension_dir +option in your php.ini file. + +Edit php.ini file and add the line: extension=oci8.so -and don't forget to specify the right extension_dir for PHP to be able -to find shared extensions correctly. -3. Installing as statically compiled extension ----------------------------------------------- +3. Installing as a statically compiled extension +------------------------------------------------ + +Configure OCI8 using one of the the following configure options: + + a) with a common Oracle server or full Oracle client installation + + ./configure --with-oci8=$ORACLE_HOME + + b) with Oracle Instant Client + + ./configure --with-oci8=instantclient,/path/to/instant/client/lib -To install OCI8 as statically compiled module use the following -configure lines: +Run "make install". -a) with a common Oracle or Oracle Client installation +After successful compile, you do not need to add oci8.so to php.ini. +The module will be usable without any additional actions. - ./configure --with-oci8=$ORACLE_HOME -b) with Oracle Instant Client +4. Installing from PECL to an existing PHP +------------------------------------------ - ./configure --with-oci8=instantclient,/path/to/instant/client/lib +The OCI8 extension is also available as a PECL module on +http://pecl.php.net/package/oci8. -After successful compile, you don't have to add oci8.so to the -php.ini. The module will be usable without any additional actions. +Install using either (a) or (b) below. -4. Installing from PECL ------------------------ + a) Do an automated download and install: + + Set PEARs proxy, if necessary: + + pear config-set http_proxy http://my-proxy.example.com:80/ + + Run + + pecl install oci8 + + When prompted, enter either the value of $ORACLE_HOME, or + "instantclient,/path/to/instant/client/lib" (without quotes). + + b) Alternatively, manually download the PECL package, e.g. oci8-1.3.3.tgz + + Extract and prepare the package: + + tar -zxf oci8-1.3.3.tgz + cd oci8-1.3.3 + phpize + + Configure the package, either using $ORACLE_HOME or Instant Client + + ./configure -with-oci8=shared,$ORACLE_HOME + + or + + ./configure -with-oci8=shared,instantclient,/path/to/instant/client/lib + + Install the package: + + make install + +After either install, edit your php.ini file, e.g. /etc/php.ini, and +add the line: + + extension=oci8.so -TBD 5. Testing OCI8 --------------- @@ -177,8 +243,8 @@ directory will contain logs of any failures. 5.2.5. Rerun the tests -6. DRCP and FAN Support ------------------------ +6. Oracle DRCP and FAN Support +------------------------------ The PHP OCI8 extension has support for the Oracle Database Resident Connection Pool (DRCP) and Fast Application Notification (FAN). @@ -329,7 +395,7 @@ To enable FAN support in PHP, after building PHP with Oracle 10gR2 or 6.3.4. Run your application, connecting to a 10gR2 or 11g database. -6.4. Recommendations and Known Limitations +6.4. Recommendations and Known Limitations 6.4.1 Changing Password for DRCP connections @@ -339,11 +405,11 @@ restriction of Oracle Database 11g. 6.4.2 Closing Connections -With the PHP 6 OCI8 extension, persistent connections can now be -closed by the user, allowing greater control over connection resource -usage. Persistent connections will now also be closed automatically -when there is no PHP variable referencing them, such as at the end of -scope of a PHP user function. This will rollback any uncommitted +With the PHP OCI8 extension, persistent connections can now be closed +by the user, allowing greater control over connection resource usage. +Persistent connections will now also be closed automatically when +there is no PHP variable referencing them, such as at the end of scope +of a PHP user function. This will rollback any uncommitted transaction. These changes to persistent connections make them behave similarly to non-persistent connections, simplifying the interface, allowing for greater application consistency and predictability. Use diff --git a/ext/oci8/php_oci8.h b/ext/oci8/php_oci8.h index 53491c40ad..e751c048d9 100644 --- a/ext/oci8/php_oci8.h +++ b/ext/oci8/php_oci8.h @@ -39,7 +39,7 @@ /* * The version of the OCI8 extension. */ -#define PHP_OCI8_VERSION "1.3.4-dev" +#define PHP_OCI8_VERSION "1.3.4" extern zend_module_entry oci8_module_entry; #define phpext_oci8_ptr &oci8_module_entry