[英]Script execution time in PHP
我想找出我脚本的脚本执行。 我用下面的代码。
$time_start = microtime(true);
//Here is a script which is extracting almost 13,000 product using an API
$time_end = microtime(true);
$execution_time = ($time_end - $time_start)/60;
echo '<b>Total Execution Time:</b> '.$execution_time.' Mins';
该脚本在localhost中运行良好,但在Production Server中不起作用。 另一方面,如果我将产品数量减少到4,000,那么它正在生产服务器中工作。
为什么会这样呢?
谢谢
UPDATE
如果我添加echo 'mouse';
在脚本末尾,则它也不会打印。
您的脚本可能面临超时的情况。
因此,请尝试在脚本文件的顶部添加超时限制。
set_time_limit(0);
$time_start = microtime(true);
//Here is a script which is extracting almost 13,000 product using an API
$time_end = microtime(true);
$execution_time = ($time_end - $time_start)/60;
echo '<b>Total Execution Time:</b> '.$execution_time.' Mins';
在脚本结束之前发生了一些事情。 也许会超时。 确保您的最大执行时间足够长。
如果您从控制台运行脚本,请使用以下命令检查最大执行时间:
php -i | grep max_execution_time
请记住,用于控制台的php.ini可能与Web服务器所使用的不同。
如果不是execution_time问题,请尝试在提取产品的代码块中详细说明。 就像是:
echo "Extracting product ".$i." (".(microtime(true) . $time_start).")\r\n";
这样,您可以在控制台上查看发生了什么以及如何花费时间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.