为了强制执行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