php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #9378 Exit() in a Funtion never break the process, PHP module still running
Submitted: 2001-02-21 13:23 UTC Modified: 2001-04-29 10:18 UTC
From: azhdin at netcourrier dot com Assigned:
Status: Closed Package: *Function Specific
PHP Version: 4.0.4pl1 OS: Windows 2000
Private report: No CVE-ID: None
 [2001-02-21 13:23 UTC] azhdin at netcourrier dot com
Exit() in a Funtion never break the process, PHP module still running, and i have the Hourglass waiting cursoron my web page.

I'm using Win2000, Apache 1.3.17, PHP4.0.4pl1 as module
and Zend_optimizer


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-02-24 13:01 UTC] jmoore@php.net
the following test script works fine for me:
<?php
function test() {
echo "ji";
exit();
}
test();
?>

can you report on this test or include the minimium about of code needed for you to reproduce it yourself.

James
 [2001-02-25 10:25 UTC] azhdin at netcourrier dot com
Here's my script where the problem occures.
You can see that there is a SQL statement error in $lvRequete because there a problem when an Oracle Error occures.
The first execution goes well, but since the second execution i've go the waiting cursor on my web page and the PHP module still running.

<?php
function MySQLStatement() 
{
	global $conn_id;

	$conn_id = OCILogon("myname", "mypass", "ORACLE");

	if ($conn_id == false)
	{
		echo 'OWS-20004 : Oracle error. Unable to connect to destination !';
		exit;
	}
	$lvRequete = "*Select sysdate from dual";
	if ($SQLStatement = OCIParse($conn_id,$lvRequete))
	{
		if (OCIExecute($SQLStatement)==0)
		{
			OCILogOff($conn_id); 
			echo 'OWS-20005 : Oracle error. SQL Syntax error !';
			exit;
		}
		
	}
	else
	{
		echo 'OWS-20006 : Oracle error. Parse SQL error Level 0 !';
		exit;
	}
	if(OCIFetch($SQLStatement) != 0)
	{	
		$lvColumnName = OCIResult($SQLStatement,1);
		
		return $lvColumnName;
	}
	else
	{
		OCILogOff($conn_id);
		return "Fetch Error";
	}
	OCIFreeStatement($SQLStatement);
}

$MyValue = MySQLStatement();
echo $MyValue;
?>
 [2001-04-29 05:43 UTC] jmoore@php.net
Cna you make us a test script without database access please. It makes it easier for us to test.

Thanks

- james
 [2001-04-29 09:38 UTC] azhdin at netcourrier dot com
<?php
function test() {
echo "ji";
exit();
}
test();
?>

With this test, the Exit() function goes well

Thanks
 [2001-04-29 10:18 UTC] jmoore@php.net
Ill cloise the report then :)

- James
 
PHP Copyright © 2001-2018 The PHP Group
All rights reserved.
Last updated: Sat Nov 17 03:01:25 2018 UTC