|
Posted by Manuel Lemos on 09/09/05 22:36
Hello,
> Yesterday OCI8 extension have been updated in the PHP CVS (HEAD only).
> This updated driver resolves a large amount of bug reports and adds
> some improvements both functionality and performance, and much better
> documentation (see here: http://php.net/oci8).
>
> A lot of time has been invested in updating this driver including
> help from Wez Furlong and the OCI team which gave a lot of feedback
> on how to do things the best and most efficient way.
I have just tried this version and at least one of two problems that I
had with version 1.0 was solved.
The problem that seems solved used to crash PHP if ORACLE_HOME and
ORACLE_SID were not set before running PHP. I have tested it with
Metabase OCI driver class and previously have documented the problem in
the OCI driver notes of Metabase documentation.
http://www.meta-language.net/metabase.html#232.2.4
Metabase uses PHP putenv() function to set these variables but with OCI8
1.0 extension not setting these variables before running PHP was causing
segmentation or the error ORA-03117: two-task save area overflow.
Anyway, now that no longer seems to be a problem, as in past versions
prior to PECL OCI8 1.0 extension.
The other problem that I am still having is about host_os variable in
the configure script being set to linux but the configure script
generated by phpize expects linux-gnu. The consequence of this is that
even when you use --enable-shared as configure argument makes it always
build as static.
I use SuSE Linux Professional 9.0 with PHP 4.3.11-1 RPM archives
provided in SuSE FTP site here:
ftp://ftp.suse.com/pub/projects/apache/mod_php4/9.0-i386/
To solve the problem, I had to hack the configure script generated by
phpize adding a few case options to consider linux as host_os alias of
linux-gnu .
Using that hack the extension builds and installs properly, passing 15
out of 16 tests of Metabase driver class test suite. The only test that
fails is due to a known "feature" of Oracle of storing NULL when you
mean to store an empty string on a VARCHAR fields. So, all works well as
expected. Congratulations! ;-)
--
Regards,
Manuel Lemos
PHP Classes - Free ready to use OOP components written in PHP
http://www.phpclasses.org/
PHP Reviews - Reviews of PHP books and other products
http://www.phpclasses.org/reviews/
Metastorage - Data object relational mapping layer generator
http://www.meta-language.net/metastorage.html
[Back to original message]
|