mirror of
https://github.com/php/php-src.git
synced 2024-10-17 06:22:53 +00:00
3df94e1112
This updated fixes (this list is not complete): ------------------- #33915 - crash in _oci_close_session #26393 - Segfault during request shutdown in _oci_close_session() (oci8.c:2443) #32741 - hang on ociexecute() with collections (only with 10g, works with 9i) #32325 - can't retrieve collection using OCI8 #33583 - Apache1.3.33 Segmentation fault with php5 & OCI_New_Collection #32361 - connection oci_connect stay persist after process the php #29013 - multiple logins cause handles become invalid #28944 - OCITypeByName: OCI-21522 with two connections Fixed by connection handling rewrite. #32140 - NVARCHAR columns are truncated #31042 - oci_fetch_* sets field value to false #27156 - OCIFetchInto returns false as column value when column contains >1 umlaut Fixed by multiplying buffer size by 3. #33866 - OCIlogon do not returns conn resource for account with expired paswd #33365 - logon fails when password expires Fixed by adding new oci_password_change() call syntax. #33159 - DB-connect via webserver fails after DB-restart ORA-24327 #30808 - oci8 cannot connect after restarting DB #30127 - lost oracle connection. need restart apache. #29902 - oci8 doesn't disconnect sessions, overloads oracle server #29779 - (the same issue with the Oracle server going offline) #26829 - Killed Oracle Sessions openned with OCIPLogon() Fixed by adding oci8.ping_interval option. #32988ext/oci8: OCI doesn't support DB external authentication Fixed by adding support of external credentials (turned off by default). Added new INI options: ---------------------- oci8.ping_interval oci8.max_persistent oci8.persistent_timeout oci8.privileged_connect oci8.statement_cache_size oci8.default_prefetch oci8.old_oci_close_semantics See the updated docs for the detailed descriptions. Major changes: -------------- - connection handling algorithm rewritten. That should add stability and fix all non-reproducible crashes etc; - extension refactored and divided into several files to improve readability and to make it easier to maintain; - added support of statement caching; - added support of privileged connections using external credentials; - added new INI options to manage persistent connections; - fixed oci_close() to close connections correctly.
62 lines
2.3 KiB
Plaintext
62 lines
2.3 KiB
Plaintext
Installing OCI8
|
|
---------------
|
|
|
|
1. Common requirements.
|
|
2. Installing as shared extension.
|
|
3. Installing as statically compiled extension.
|
|
4. Installing from PECL.
|
|
|
|
|
|
1. Common requirements
|
|
----------------------
|
|
In case if you use Oracle Instant Client, you don't have to set ORACLE_HOME and
|
|
most of the other environment variables to build PHP with OCI8 support.
|
|
The only variables you may have to set are:
|
|
LD_LIBRARY_PATH - it must include Instant Client libraries dir
|
|
NLS_LANG - in case if you want to change the default encoding used during
|
|
interaction with Oracle servers
|
|
|
|
If you use common Oracle Client installation that comes along with the Oracle
|
|
server installation, you MUST set at least ORACLE_HOME environment variable
|
|
and make it visible for your web-server BEFORE it starts. Most appropriate
|
|
places to add ORACLE_HOME definition are:
|
|
- /etc/profile
|
|
- /etc/profile.local
|
|
- /etc/profile.d
|
|
and others.
|
|
|
|
2. Installing as shared extension
|
|
---------------------------------
|
|
To install OCI8 as shared extension (i.e. the one you should put into
|
|
your php.ini) use the following configure lines to configure PHP:
|
|
a) if you use common Oracle Client installation:
|
|
./configure --with-oci8=shared,$ORACLE_HOME
|
|
|
|
b) with Oracle Instant Client:
|
|
./configure --with-oci8=shared,instantclient,/path/to/instant/client/lib
|
|
If you use rpm-based installation of Oracle Instant Client, your configure
|
|
line will look like this:
|
|
./configure --with-oci8=shared,instantclient,/usr/lib/oracle/<OIC version>/client/lib
|
|
|
|
Follow the usual building procedure after that and you'll get OCI8 shared
|
|
extension (i.e. oci8.so). Add it into the php.ini file like this:
|
|
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
|
|
----------------------------------------------
|
|
To install OCI8 as statically compiled module use the following configure lines:
|
|
a) with common Oracle Client installation
|
|
./configure --with-oci8=$ORACLE_HOME
|
|
|
|
b) with Oracle Instant Client
|
|
./configure --with-oci8=instantclient,/path/to/instant/client/lib
|
|
|
|
After successful compile, you don't have to add oci8.so to the php.ini, the module will
|
|
be usable without any additional actions.
|
|
|
|
4. Installing from PECL
|
|
-----------------------
|
|
TBD
|