Re: Try to find a solution, when restart Apache with PHP Script

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Daevid,
This app keep alive forever as well?
When you restart apache what happend to your app?

Daevid Vincent escreveu:
-----Original Message-----
From: Rodolfo De Nadai [mailto:rodolfo.denadai@xxxxxxxxxxxxx] Sent: Monday, September 17, 2007 5:25 AM
To: php-general@xxxxxxxxxxxxx
Subject: Try to find a solution, when restart Apache with PHP Script

Hi all...

I'm facing a serious problem with my application. I have a script write
in PHP that starts in Internet Explorer, this script keep on running
until a varible value change on my MySQL database.
The problem is that when i restart Apache, the process child initalized
isn't kill... then the apache can't be start because the script is use
the port 80.

To solve my problem, without change anything, the best would be that
when i execute the script, it run on other port than the default 80...
so this way apache could start...
The is a way to redirect through php, so the script run on a diferent
port?? Like change some line, or add on php.ini files?? or even in
programming??

thanks ... for any info

We do something like this, wherein sometimes we have to force a restart of
Apache, so in order to not kill the web page for the GUI, we use AJAX to
continually poll the server. Then when the server is back, we can issue a
page refresh to whatever page we want...


---------------------------8< snip
8----------------------------------------

<?php
	$request_interval = 10000;	// 10 seconds.
	$type = intval( $_GET[ 'type' ] );
	if ( 1 == $type )
	{
		$initial_wait = 60000;	// 1 minute.
		$title = translate('Rebooting Appliance');
		$text = translate('This may take several minutes. If this
page does not redirect you, click <A HREF="home_start_main.php">here</A>.');
	}
	else
	{
		$initial_wait = 20000;	// 20 seconds.
		$title = translate('Rebuilding Web Certificates');
		$text = translate('If this page does not redirect you in a
few seconds, click <A HREF="home_start_main.php">here</A>.');
	}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
	<TITLE><?= translate('%1$s :: Loading...', PRODUCT_fENF) ?></TITLE>
	<META HTTP-EQUIV="Content-Type" CONTENT="text/html;">
	<LINK REL="STYLESHEET" TYPE="text/css"
HREF="includes/default.css?version=1">
</HEAD>
<BODY>
	<TABLE WIDTH="100%" HEIGHT="100%">
		<TR>
			<TD ALIGN="center" VALIGN="middle" HEIGHT="100%"
WIDTH="100%">
				<TABLE BORDER="0" CLASS="componentBox">
					<TR VALIGN="middle">
						<TD COLSPAN="3"
CLASS="tableHeadline"><?=$title?></TD>
					</TR>
					<TR VALIGN="MIDDLE">
						<TD><IMG
SRC="images/icons/paper_time.gif"></TD>
						<TD>
							<TABLE>
								<TR>
	
<TD><?=$text?></TD>
								</TR>
								<TR>
									<TD
ALIGN="CENTER"><DIV ID="status" STYLE="color:gray"><?=
translate('Waiting...') ?></DIV></TD>
								</TR>
							</TABLE>
						</TD>
					</TR>
				</TABLE>
			</TD>
		</TR>
	</TABLE>
	<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
	<!--
		var xmlhttp=false;
		var id, state = 0;
		var initial_wait = <?=$initial_wait?>;

		// JScript gives us Conditional compilation, we can cope
with old IE versions.
		// and security blocked creation of the objects.
		try
		{
			xmlhttp = new ActiveXObject( "Msxml2.XMLHTTP" );
		}
		catch ( e )
		{
			try
			{
				xmlhttp = new ActiveXObject(
"Microsoft.XMLHTTP" );
			}
			catch ( E )
			{
				xmlhttp = false;
			}
		}
		if ( !xmlhttp && typeof XMLHttpRequest != 'undefined' )
		{
			xmlhttp = new XMLHttpRequest();
		}

		function try_url()
		{
			if ( 0 == state )
			{
				document.getElementById( "status"
).innerHTML = "<?= translate('Requesting page...') ?>";
				xmlhttp.open( "HEAD", "home_start_main.php",
true );
				xmlhttp.onreadystatechange=function()
				{
					state = xmlhttp.readyState
					if ( 4 == state )
					{
						// Needed this try/catch
block for Firefox.
						var httpstatus;
						try
						{
							httpstatus =
xmlhttp.status;
						}
						catch ( e )
						{
							httpstatus = -1;
						}
						if( ( httpstatus == 200 ) ||
( httpstatus == null ) || ( httpstatus == 0 ) || ( httpstatus == 304 ) )
						{
							state = 0;
	
document.getElementById( "status" ).innerHTML = "<?= translate('Request
succeeded...') ?>";
							self.clearInterval(
id );
							document.location =
'home_start_main.php';
						}
						else
						{
	
document.getElementById( "status" ).innerHTML = "<?= translate('Request
failed...') ?>";
							state = 0;
						}
					}
				}
				xmlhttp.send( null )
			}
		}

		function start_polling()
		{
			initial_wait = initial_wait - 1000;
			if ( initial_wait <= 0 )
			{
				self.clearInterval( id );
				document.getElementById( "status"
).innerHTML = "<?= translate('Requesting page...') ?>";
				try_url();
				id = self.setInterval( 'try_url()',
<?=$request_interval?> );
			}
			else
			{
				document.getElementById( "status"
).innerHTML = "<?= translate('Waiting ') ?>" + ( initial_wait / 1000 ) +
"...";
			}
		}

		id = self.setInterval( 'start_polling()', 1000 );
	//-->
	</SCRIPT>
</BODY>
</HTML>


--
* Rodolfo De Nadai *
* Analista de Sistema Jr. - Desenvolvimento *

	

	
	*Informática de Municípios Associados S.A.*
Seu governo mais inteligente
rodolfo.denadai@xxxxxxxxxxxxx <mailto:rodolfo.denadai@xxxxxxxxxxxxx> - www.ima.sp.gov.br <http://www.ima.sp.gov.br/> Fone: (19) 3739-6000 / Ramal: 1307
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux