473,769 Members | 3,383 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

oci_close bug

I've run into this bug:

http://bugs.php.net/bug.php?id=29902

I'm beside myself trying to get around this. My application is dying after processing 20 transactions because there is no way to
close the connection. I've tried downloading and building the latest 5.1 CVS source via

cvs -d :pserver:cv**** *@cvs.php.net:/repository checkout -r PHP_5_1 php-src

But this didn't help. The oci_close still always fails.

I have no control over the Oracle database to increase the number of sessions, nor am I likely to convince the DB admin to do so,
nor do I think this is a good idea anyway.

Does anybody have any ideas for a reasonable workaround to this ? I'm a little baffled as to why the latest source didn't fix the
problem. It was announced on 9/7 that the fix was in the CVS source. This is a little disappointing to say the least. We've been
building this app for over 4 months, and only now do we realize that we can't really do the Oracle part that we wanted to.

Any ideas ?

Thanks,
John
Sep 24 '05 #1
4 2437
On Fri, 23 Sep 2005 20:55:40 -0400, John Cecere wrote:

Does anybody have any ideas for a reasonable workaround to this ? I'm a little baffled as to why the latest source didn't fix the
problem. It was announced on 9/7 that the fix was in the CVS source. This is a little disappointing to say the least. We've been
building this app for over 4 months, and only now do we realize that we can't really do the Oracle part that we wanted to.

Any ideas ?

Thanks,
John


The problem is allegedly fixed in Zend Core for Oracle, but it is for
certified platforms only (Suse & RH).

--
http://www.mgogala.com

Sep 25 '05 #2
On Sun, 25 Sep 2005 04:48:32 GMT, Mladen Gogala <go****@sbcglob al.net> wrote:
On Fri, 23 Sep 2005 20:55:40 -0400, John Cecere wrote:
Does anybody have any ideas for a reasonable workaround to this ? I'm a little baffled as to why the latest source didn't fix the
problem. It was announced on 9/7 that the fix was in the CVS source. This is a little disappointing to say the least. We've been
building this app for over 4 months, and only now do we realize that we can't really do the Oracle part that we wanted to.


The problem is allegedly fixed in Zend Core for Oracle, but it is for
certified platforms only (Suse & RH).


The Oracle-related changes in PHP included in Zend Core for Oracle are, if I
understand correctly, basically just in the new OCI8 driver. This is being
released back into the core distribution when it's stable, and is already
available separately through PECL in beta status:

http://pecl.php.net/package/oci8
--
Andy Hassall :: an**@andyh.co.u k :: http://www.andyh.co.uk
http://www.andyhsoftware.co.uk/space :: disk and FTP usage analysis tool
Sep 25 '05 #3
On Fri, 23 Sep 2005 20:55:40 -0400, John Cecere <ro*****@optonl ine.net> wrote:
I've run into this bug:

http://bugs.php.net/bug.php?id=29902

I'm beside myself trying to get around this. My application is dying after processing 20 transactions because there is no way to
close the connection. I've tried downloading and building the latest 5.1 CVS source via

cvs -d :pserver:cv**** *@cvs.php.net:/repository checkout -r PHP_5_1 php-src

But this didn't help. The oci_close still always fails.

I have no control over the Oracle database to increase the number of sessions, nor am I likely to convince the DB admin to do so,
nor do I think this is a good idea anyway.

Does anybody have any ideas for a reasonable workaround to this ? I'm a little baffled as to why the latest source didn't fix the
problem. It was announced on 9/7 that the fix was in the CVS source. This is a little disappointing to say the least. We've been
building this app for over 4 months, and only now do we realize that we can't really do the Oracle part that we wanted to.

Any ideas ?


What sort of connect are you using? Normal, new or persistent?
(ocilogon/oci_connect, ocinlogon/oci_new_connect , ociplogon/oci_pconnect)?

oci_close is a no-op, but sessions do get closed at end of request, at least
in my experience, and backed up by the comments in the source code in
ext/oci8/oci8.c and the call to OCISessionEnd in _oci_close_sess ion.

If you're using persistent connections, then you have to watch out for and/or
limit the number of Apache child processes, since the connection pool is
per-process.
--
Andy Hassall :: an**@andyh.co.u k :: http://www.andyh.co.uk
http://www.andyhsoftware.co.uk/space :: disk and FTP usage analysis tool
Sep 25 '05 #4
On Sun, 25 Sep 2005 11:26:03 +0100, Andy Hassall wrote:
The Oracle-related changes in PHP included in Zend Core for Oracle are, if I
understand correctly, basically just in the new OCI8 driver. This is being
released back into the core distribution when it's stable, and is already
available separately through PECL in beta status:

http://pecl.php.net/package/oci8


The latest PECL oci8 extension doesn't work with PHP 5.1.0RC1. Here is
what I get when I run it with "extension=oci8 .so":

[Sun Sep 25 12:07:38 2005] [notice] child pid 28695 exit signal Segmentation fault (11)

When I disable it, it runs fine. I linked PHP with the extension that
comes with PHP5.1 (--with-oci8=$ORACLE_HO ME) and it works.
Did you play with PDO_OCI? I am disappointed by the fact that it cannot
describe a cursor. The following little program fails: $ cat test_pdo.php
#!/usr/local/bin/php <?php
$SQL1="select * from emp where ename like :ENAME"; $name='%'; try {
$dbh = new PDO("oci:dbname =local", "scott", "tiger");
$sth=$dbh->prepare($SQL1) ;
$sth->bindParam(":EN AME",$name,PDO_ PARAM_STR,100);
$sth->execute();
$cnt=$sth->columnCount( );
echo "This statement returns ",$cnt, " columns\n";
for($i=0;$i<$cn t;$i++) {
print_r($sth->getColumnMeta( $i));
print("\n");
}

} catch (PDOException $e) {
echo "Failed to obtain database handle " . $e->getMessage()," <br>\n";
}
?>

Here is what happens:
$ ./test_pdo.php
This statement returns 8 columns
PHP Warning: PDOStatement::g etColumnMeta(): SQLSTATE[IM001]: Driver does not support this function: driver doesn't support meta data in /home/mgogala/tmp/test_pdo.php on line 13

PHP Warning: PDOStatement::g etColumnMeta(): SQLSTATE[IM001]: Driver does not support this function: driver doesn't support meta data in /home/mgogala/tmp/test_pdo.php on line 13

PHP Warning: PDOStatement::g etColumnMeta(): SQLSTATE[IM001]: Driver does not support this function: driver doesn't support meta data in /home/mgogala/tmp/test_pdo.php on line 13

PHP Warning: PDOStatement::g etColumnMeta(): SQLSTATE[IM001]: Driver does not support this function: driver doesn't support meta data in /home/mgogala/tmp/test_pdo.php on line 13

PHP Warning: PDOStatement::g etColumnMeta(): SQLSTATE[IM001]: Driver does not support this function: driver doesn't support meta data in /home/mgogala/tmp/test_pdo.php on line 13

PHP Warning: PDOStatement::g etColumnMeta(): SQLSTATE[IM001]: Driver does not support this function: driver doesn't support meta data in /home/mgogala/tmp/test_pdo.php on line 13

PHP Warning: PDOStatement::g etColumnMeta(): SQLSTATE[IM001]: Driver does not support this function: driver doesn't support meta data in /home/mgogala/tmp/test_pdo.php on line 13

PHP Warning: PDOStatement::g etColumnMeta(): SQLSTATE[IM001]: Driver does not support this function: driver doesn't support meta data in /home/mgogala/tmp/test_pdo.php on line 13
Basically, what is says is that driver doesn't support returning column
name, type, length, scale an precision for returned column in a query.
That functionality is, of course, available in the existing OCI8 driver.

--
http://www.mgogala.com

Sep 25 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
2125
by: RDahlstedt | last post by:
I am relatively new to PHP, but with over a decade of experience in C and other programming languages I can usually pick up a new programming language relatively quickly (to be reasonably productive not to know it inside out). My issues I believe may be either solely concentrated on the platform I am running PHP 5.0.0 on (MS Windows 2000) or just the Oracle OCI8 module (running against an Oracle 8.1.7.4 installation). In either case I am...
9
2052
by: Keith E. Sauvant | last post by:
Hi, we got a strange problem connecting to an Oracle database onsite with our PHP application: During CSV import job handled by our application, PHP opens up to some hundred connections to the database. It then eventually fails to connect to the database due to the high number of open connections. We are not able to reproduce this behaviour on our internal installations, we get up to 30 connections until the job is finished.
1
2323
by: Steff | last post by:
I am wandering if my code is making sense... I use a lot the print function. Is it weird in this case where I have to display an array ? I thought it would be better to have the entire array in php but now I am not sure if that makes sense. Can you tell me please ? <html> <head>
3
2748
by: Stephen V | last post by:
Can anyone help me out with this problem. I would like to redirect/ go to another php page when my SQL insertion is done and also send a variable at the same time. the idea is, to come on my page for the first time and not doing anything, then I fill up my form and insert the data (with the button "add request" and when the oci_execute is done go to another page. all I need to know is how to go to another page automatically... and...
1
2169
by: stephane | last post by:
I have a problem which must be in this : print" <script type='text/javascript'> document.location.replace('http://127.0.0.1/add_task.php?req_id={$maxValue}&tk_request_name={$req_name}'); </script>"; or maybe here, in file2 <?php $tk_req_id = $_GET;
1
5680
by: stephane | last post by:
I have a problem which must be in this : print" <script type='text/javascript'> document.location.replace('http://127.0.0.1/add_task.php?req_id={$maxValue}&tk_request_name={$req_name}'); </script>"; or maybe here, in file2 <?php $tk_req_id = $_GET;
4
1799
by: chfarooq | last post by:
With this simple query, I am getting a duplicated record of sets. Can any body help me in this regard <?php $conn = oci_connect('INKFISH_FAROOQ', 'farooq', '//localhost/XE'); $stid = ociparse($conn, 'SELECT * FROM INKFISH_ADMIN.INKFISH_USER'); $results=ociexecute($stid, OCI_DEFAULT); print '<table border="1">'; while ($row = oci_fetch_array($stid, OCI_RETURN_NULLS))
4
2570
by: Sonnich | last post by:
Hello there I'm trying to work with the example for OCI... and the $row returns 2 values, the same twice, but my query only have one... code below. Can anyone explain? BR S
15
10110
by: naveenkongati | last post by:
Hi, How do we connect a Oracle Remote server using php. Can we pass hostname,port,db,username,password into the oci_connect() function? As per oci_connect() syntax is seems to be not possible , is there any way to connect remote oracle server? Thanks
0
9586
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
10043
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
9861
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8869
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
5298
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5446
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3956
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3561
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2814
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.