我想找出我的脚本的脚本执行。我使用了以下代码。
$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,那么它在生产服务器中工作。
为什么会这样?
由于
更新
如果我在脚本末尾添加echo 'mouse';
,那么它也不会打印。
答案 0 :(得分:1)
可能是您的脚本面临超时的情况。
因此,请尝试在脚本文件的最顶部添加超时限制。
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';
答案 1 :(得分:0)
在脚本结束之前发生了一些事情。 也许是时间了。确保您的最长执行时间足够高。
如果从控制台运行脚本,请使用以下命令检查最长执行时间:
php -i | grep max_execution_time
请记住,控制台的php.ini可能与Web服务器使用的不同。
如果它不是execution_time问题,请尝试在提取产品的代码块中详细说明。类似的东西:
echo "Extracting product ".$i." (".(microtime(true) . $time_start).")\r\n";
通过这种方式,您可以在控制台上看到发生了什么以及如何花费时间。