【问题标题】:PHP returns blank page after executing external commandPHP执行外部命令后返回空白页
【发布时间】:2015-01-04 01:35:53
【问题描述】:

我的脚本:

<?php
include 'theme.php';
/*ceklogin();*/
css();
if($_POST['wget-send'])
    {
        $formdir=$_POST['dir'];
        $formlink=$_POST['link'];
        $toSave = nl2br($_POST["link"]);
        $simpan = str_replace('<br />', '', $toSave);
    $filelink = fopen('/root/wget/wget-download-link.txt',a);
    $filedir = fopen('/root/wget/wget-dir.txt',w);

    fwrite($filedir, $formdir);
    fwrite($filelink, $simpan. "\n");
    }

if($_POST['restart-download'])
    {
    exec('mv /root/wget/wget-download-link.txt.done /root/wget/wget-download-link.txt > /dev/null 2>&1 &');
    exit();
    }

if($_POST['stop-wget'])
    {
    exec('killall wget > /dev/null 2>&1 &');
    exit();
    }

echo "<form action=\"".$PHP_SELF."\" method=\"post\" id=\"WgetForm\">";
echo "Download directory:<br><input type=\"text\" name=\"dir\" size=\"15\" value=\"/mnt/usb/\"/><br>";
echo '<br>Download link:';
echo ("<textarea name=\"link\" rows=\"13\" cols=\"62\"></textarea><br>");
echo '
<input type="submit" onclick="DownloadRestarted()" name="restart-download" value="Restart latest download" id="RestartWget" />
<input type="submit" onclick="LinkAdded()" name="wget-send" value="Download" id="WgetID" />
<input type="submit" onclick="WgetStopped()" name="stop-wget" value="Stop Wget" id="StopWget" />
</form>
</div>';
echo <<<HTML
<script type="text/javascript">

function LinkAdded()
    {
            alert("Link has been sucessfully sent to wget, it'll be downloaded soon, check the wget log for the download progress");
    }
function DownloadRestarted()
    {
            alert("Download restarted, check the wget log for the download progress");
    }
function WgetStopped()
    {
            alert("Wget has been successfully stopped, no download is running right now");
    }

</script>
HTML;
foot();
echo '
</div>
</body>
</div>
</html>';
?>

请注意exec 部分。每当我单击Restart latest downloadStop Wget 时,它总是返回一个空白页。我的脚本出了什么问题?解决它的唯一临时方法是去掉exec 部分,但它也会让我无法使这些按钮工作。

【问题讨论】:

  • 最好不要输入整个执行代码,而是输入SSCCE。请考虑更新您的代码以帮助他人帮助您。

标签: php linux shell


【解决方案1】:

if 块中删除exit(),这就是你的页面是空白的原因

exit() 终止当前脚本

【讨论】:

    猜你喜欢
    • 2015-12-12
    • 2019-03-17
    • 2013-08-25
    • 1970-01-01
    • 1970-01-01
    • 2013-04-16
    • 2013-12-31
    • 1970-01-01
    • 2011-04-25
    相关资源
    最近更新 更多