Re: PHP OCI_DEFAULT Segmentation Faults

  • From: Mladen Gogala <mgogala@xxxxxxxxxxxxxxxxxxxx>
  • To: Justin.Bennett@xxxxxxxxxxxxx
  • Date: Thu, 14 Jul 2005 15:11:00 -0400

Justin Bennett wrote:

I'm using PHP 4.3.7 on Redhat 2.1ES against an Oracle 8.1.7
database.Using the PHP OCI interface I have an application that opens a
persistent connection and runs a main select to get a list of Items,
then while looping through the results it then runs a function against
these items In which it runs several nested selects (It's a bill of materials explosion), It can be upto 4 or
5 nested selects deep. If I run the selects with an OCI_DEFAULT method
(not commiting on success) the program will run and at certain points
throw a segmentation fault. Usually I don't commit at all when I only
run a select. If however I change the method to commit on success then
it will work fine. Is there a results or transaction buffer maybe I'm
blowing? Does the commit on success free that up?


Justin, the problem is in persistent connection. If you use new connection, it will work. Persistent connection
will attempt to reuse session, if it exists, but it doesn't work as advertised unless you have an application server
which can maintain persistent connections. My advice is to swith to PHP5 (much, much more powerful then PHP4)
and use oci_new_connect instead of ocilogon or oci_pconnect.



-- Mladen Gogala Oracle DBA Ext. 121


-- //www.freelists.org/webpage/oracle-l

Other related posts: