有没有什么免费软件或商业可以促进PHP应用程序的内存使用分析?我知道xdebug可以生成跟踪文件,通过函数调用显示内存使用情况但没有图形工具,数据很难解释.
在我的网站上,许多操作可能需要很长时间才能完成.
当我知道页面需要一段时间才能加载时,我想在页面加载时显示进度指示器.
理想情况下,我想说一下以下内容:
$("#dialog").show("progress.php");
Run Code Online (Sandbox Code Playgroud)
并将该叠加层放在正在加载的页面顶部(在操作完成后消失).
编写进度条并显示进度不是问题,问题是在加载页面时弹出进度指示器.我一直在尝试使用JQuery的对话框,但它们只在页面已经加载后出现.
这必须是一个常见的问题,但我不熟悉JavaScript,知道最好的方法.
这是一个简单的例子来说明问题.在20秒暂停之前,下面的代码无法显示对话框.我曾尝试使用Chrome和Firefox.事实上,我甚至没有看到"请等待......"文字.
这是我正在使用的代码:
<html>
<head>
<link type="text/css" href="http://jqueryui.com/latest/themes/base/ui.all.css" rel="stylesheet" />
<script type="text/javascript" src="http://jqueryui.com/latest/jquery-1.3.2.js"></script>
<script type="text/javascript" src="http://jqueryui.com/latest/ui/ui.core.js"></script>
<script type="text/javascript" src="http://jqueryui.com/latest/ui/ui.dialog.js"></script>
</head>
<body>
<div id="please-wait">My Dialog</div>
<script type="text/javascript">
$("#please-wait").dialog();
</script>
<?php
flush();
echo "Waiting...";
sleep(20);
?>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我试图找出一个看起来很奇怪的错误.我有一个大致如下结构的应用程序:
set_time_limit(0);
register_shutdown_function('logScriptCompletion');
function logScriptCompletion() {
log('script completed');
}
log('script started');
// do some calculations periodically printing out progress
Run Code Online (Sandbox Code Playgroud)
该脚本可能需要一段时间才能运行.所需的行为是脚本继续计算到最后,即使按下停止按钮或连接被删除.99%的时间按预期工作.
偶尔(可能每隔几个月/几千个请求一次)计算不会一直运行但是"脚本已启动"和"脚本已完成"都会被记录,并且没有其他错误致命或其他明显的错误(我有启用完整日志记录).
我怀疑这可能与服务器的连接被丢弃有关,但没有确凿的确凿证据.我在Linux上运行Apache 2/PHP 5.2.6.
有没有其他人看到类似的问题,可以帮助阐明这一点?