在死亡之前从PHP重启httpd,回显页面

时间:2015-04-03 05:39:09

标签: php

所以这里有点难以破解。我有这个网页执行一系列非常大的任务,最后,它重新启动httpd以重新加载它刚编辑的新httpd.conf。

  • 这没有问题,但我想在服务器终止并重新启动之前显示结果。
  • 原因是我最初创建了一个执行脚本的js按钮,然后使用"等待..."替换div的内容。 ,当脚本结束时,它用div文件的内容填充div,在我们的例子中,"完成。"
  • 由于我在最后添加了重启,它只是等待。

我找到了flush方法并尝试如下,但没有骰子

if (ob_get_level() == 0) ob_start();
echo "Finished.";
ob_flush();
flush();
ob_end_flush();
mysqli_close($conn);
$cmd= 'sudo /usr/sbin/apachectl restart';
exec($cmd);
exit();

编辑::更多信息

现在我认为问题不是php本身而是javascript。它看起来像这样:

document.getElementById("infocr").innerHTML = "Wait...";
$.post("create.php", {
user: targetuser
}
, function(datacr) {
document.getElementById("infocr").innerHTML = "datacr";
$('#csf')[0].reset(); // To reset form fields
wait=1;
setTimeout(function(){wait=0;}, 5000);
});

括号之间的东西永远不会被调用,因为php文件实际上从未#34;结束"。你能为此建议任何解决方法吗? 5秒计时器是为了防止该按钮被发送垃圾邮件

1 个答案:

答案 0 :(得分:2)

在重新启动httpd之前,您可以回显所需的一切。之后你的php代码将不再被执行,因为httpd服务暂时关闭。
解决方案是使用JavaScript setInterval()函数检查某个URL以检查httpd是否再次运行,当您收到响应时,您可以显示httpd重新启动成功的消息。