所以这里有点难以破解。我有这个网页执行一系列非常大的任务,最后,它重新启动httpd以重新加载它刚编辑的新httpd.conf。
我找到了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秒计时器是为了防止该按钮被发送垃圾邮件
答案 0 :(得分:2)
在重新启动httpd之前,您可以回显所需的一切。之后你的php代码将不再被执行,因为httpd服务暂时关闭。
解决方案是使用JavaScript setInterval()
函数检查某个URL以检查httpd是否再次运行,当您收到响应时,您可以显示httpd重新启动成功的消息。