D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
usr
/
local
/
lsws
/
admin
/
html.6.3.1
/
utility
/
build_php
/
Filename :
buildStep4.php
back
Copy
<?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>