当前位置: 首页 > 面试题库 >

跟踪PHP中的脚本执行时间

公冶浩慨
2023-03-14
问题内容

为了强制执行max_execution_time限制,PHP必须跟踪特定脚本使用的CPU时间。

有没有办法在脚本中访问此内容?我想在测试中包含一些日志记录,以了解实际PHP中的CPU消耗了多少(脚本坐着并等待数据库时,时间没有增加)。

我正在使用Linux机器。


问题答案:

在unixoid系统上(以及在Windows上的php
7+中),您可以使用getrusage,例如:

// Script start
$rustart = getrusage();

// Code ...

// Script end
function rutime($ru, $rus, $index) {
    return ($ru["ru_$index.tv_sec"]*1000 + intval($ru["ru_$index.tv_usec"]/1000))
     -  ($rus["ru_$index.tv_sec"]*1000 + intval($rus["ru_$index.tv_usec"]/1000));
}

$ru = getrusage();
echo "This process used " . rutime($ru, $rustart, "utime") .
    " ms for its computations\n";
echo "It spent " . rutime($ru, $rustart, "stime") .
    " ms in system calls\n";

请注意,如果您为每个测试生成一个php实例,则无需计算差异。



 类似资料:
  • 问题内容: 跟踪任务在gradle构建脚本中花费了多长时间的最优雅的方法是什么?在最佳情况下,将时间直接记录在任务名称的同一行或下一行 问题答案: 最干净的解决方案是实现TaskExecutionListener(我确定您可以处理该部分)并向进行注册。

  • 问题内容: 脚本行为异常。我只需要通过修改行为异常的脚本就可以知道谁调用了该脚本,谁调用了调用脚本,等等。 这类似于堆栈跟踪,但是我对单个bash脚本中的函数调用的调用堆栈 不 感兴趣。相反,我需要由脚本启动的已执行程序/脚本链。 问题答案: 因为您说可以编辑脚本本身,所以只需输入: 在其中发生问题的地方。 这将在您的目录中创建许多文件,这些文件会在发生时显示整个进程列表。 然后,您可以通过检查此

  • 问题内容: 我想使用PHP发送数百封电子邮件。为了增加执行时间,我使用了 ini_set(’max_execution_time’,10);。 但是仅发送 30 封电子邮件后,浏览器向我显示空白页,并且不会发送所有电子邮件。 我也将限制更改为300,600 .. 问题答案: 尝试在脚本顶部。 set_time_limit 设置最大执行时间(以秒为单位)。如果设置为零,则不施加时间限制

  • 问题内容: 我想从PHP脚本执行系统上存在的Bash脚本。我的系统上有两个脚本。其中一个是称为at at 的PHP脚本,另一个是称为at at 的Bash脚本。 我的client.php脚本看起来像 我的睾丸看起来像 当我在终端上执行以下操作时 我在终端上得到以下输出 但是当我在打开页面时 我得到以下输出 即使执行了chmod + x testscript,我仍然收到此错误。 我如何从浏览器中获取

  • 我试图从一个简单的BASH脚本执行一个简单的PHP脚本。这个网站上的答案不能回答我的问题。 这是我的BASH脚本 这是我的PHP脚本 从命令行运行BASH脚本时,出现以下错误。 我试过键入/usr/bin/php-q/home/username/subfolder/durable2。这很好。它跑起来了

  • 当我试图使用执行PHP脚本时,它不起作用。 在错误日志文件中显示: PHP警告:shell_exec()[function.shell exec]:无法执行'PHP/home/snabsam/public_html/。。。。。 系统 Centos shell_exec与clamscan配合使用 与clamav的功能配合使用 但它没有执行PHP脚本 我检查过的东西: PHP是off 不存在于在php