> -----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> -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php