Your IP : 3.145.88.104
<?php
if (!defined('LEGAL')) return;
echo '<h2 class="bottom_bar">' . TITLE . '</h2>';
$manual_script = $check->pass_val['manual_script'];
if ($manual_script == NULL) {// illegal entry
return;
}
$binname = 'lsphp-' . $check->pass_val['php_version'];
$notes = '<li>If the build process is successful, the PHP binary will be created under '
. $_SERVER['LS_SERVER_ROOT'] . '/fcgi-bin/ with name ' . $binname
. ', and a symbolic link of lsphp' . $check->pass_val['php_version'][0]
. ' will be created or updated to the newly built binary. If '
. $binname . ' already exists, it will be renamed to ' . $binname . '.bak.</li>';
if ( $check->pass_val['extentions'] != '') {
$notes1 = BuildTool::getExtensionNotes($check->pass_val['extentions']);
$notes .= '<li>' . $notes1 . '</li>';
}
$echo_cmd = 'echo "For security reason, please log in and manually run the pre-generated script to continue."';
exec($echo_cmd . ' > ' . $check->pass_val['log_file']);
exec($echo_cmd . ' > ' . $check->pass_val['progress_file']);
?>
<div class="panel_error" align=left>
<p class="gui_error" id="errorzone">For security reason, please log in to your server and run the pre-generated script from shell. You can monitor the progress from this screen.</p>
<p>If you log in as root, you can directly run the command:</p>
<p class="panel_shell"># <?php echo $manual_script; ?></p>
<p>If you log in as a user who has sudo permission, you can run the command with sudo and input root password after prompt. </p>
<p class="panel_shell">$ sudo <?php echo $manual_script; ?></p>
</div>
<div class="xtbl_header"><p class="xtbl_title">
Step 4 : Monitoring build process
</p>
</div>
<script>
function getUpdate() {
try { xhr = new XMLHttpRequest(); }
catch(e)
{
xhr = new ActiveXObject(Microsoft.XMLHTTP);
}
xhr.abort();
xhr.open("GET", "buildProgress.php", true);
xhr.send(null);
xhr.onreadystatechange = function() {
if(xhr.readyState != 4)
return;
if(xhr.status == 200)
{
var ta = document.getElementById("statuszone");
var pos = xhr.responseText.indexOf("\n**LOG_DETAIL**");
ta.innerHTML = xhr.responseText.substring(0,pos);
var loga = document.getElementById("logzone");
loga.innerHTML = xhr.responseText.substring(pos);
if (xhr.responseText.indexOf("\n**COMPLETE**") >= 0) {
document.getElementById("statusgraphzone").innerHTML = '<b>Build PHP Completed!</b> To apply changes, please visit Control Panel and execute a Graceful Restart. <a href="/service/serviceMgr.php">Apply Changes</a>';
document.getElementById("errorzone").innerHTML = 'Please make sure your php.ini will work with the extension, see details in notes.';
}
else if (xhr.responseText.indexOf("\n**ERROR**") >= 0) {
document.getElementById("statusgraphzone").innerHTML = '<b>Stopped due to Error. Please manually fix it. It may due to missing packages, after you install it, rerun the same command and this page will show the updated log.</b>';
setTimeout("getUpdate();", 10000);
}
else {
setTimeout("getUpdate();", 2000);
}
} else {
document.getElementById("statuszone").innerHTML = xhr.responseText
+ "<br>Status update refresh error " + xhr.status + "... please wait";
setTimeout("getUpdate();", 2000);
}
};
}
getUpdate();
</script>
<div><span id="statusgraphzone"><img src='/static/images/working.gif'></span></div>
<p> <b>Notes</b>: <ul><?php echo $notes; ?>
<li>For more information regarding LSPHP, please visit <a href="https://docs.litespeedtech.com/lsws/extapp/php/" target="_blank" rel="noopener noreferrer">LiteSpeed wiki</a>.</li>
</li></ul></p>
<p><b>Main Status: </b></p>
<div style="margin:10px;border:1px solid rgb(134,142,167);outline: 3px solid #eaeaea;width:900px;height:160px;overflow:auto;font-family:Courier, monospace; font-size: 11px; background: #FFFFF7; color: #333333; padding: 5px 10px;">
<pre id="statuszone"></pre>
</div>
<p><b>Detailed Log: </b></p>
<div style="margin:10px;border:1px solid rgb(134,142,167);outline: 3px solid #eaeaea;width:900px;height:500px;overflow:auto;font-family:Courier, monospace; font-size: 11px; background: #222222; color: #ffffff; padding: 5px 10px;">
<pre id="logzone"></pre>
</div>
<p></p>