格雷茨研究员!
我正在寻找一种记录CLI脚本操作的方法,而不会浪费时间。我做了一些基准测试,我发现在每次操作后echo
进行操作时,脚本的速度将慢近2倍,并且通过将操作添加到日志文件中,速度将慢17倍。
那么,任何人都有解决方案吗?
答案 0 :(得分:0)
记录到文件应该比回显到屏幕快得多(这是显示最有可能限制的文本的过程)。
因此,您可以简单地将调试写入文件并(如果需要)“tail -f
”文件以查看实时调试。 (我假设你在Linux / Unix下运行等)。
作为建议:
function logDebugToFile($string) {
// Set defaults...
$filename = 'INSERT REQUIRED PATH/FILENAME HERE.log';
$ourFP = fopen($filename, 'a+');
if (is_resource($ourFP)) {
fwrite($ourFP, $string."\n");
fclose($ourFP);
return true;
}
return false;
}
答案 1 :(得分:0)
如果您使用的是CLI,我猜你可以测试一下:
YOUR_SCRIPT.php > /tmp/log.txt &
内部YOUR_SCRIPT.php
<?
/* some action */
echo date('r').some_action_1()."\n"; <-- this is bad # REMARK 1
echo date('r').some_action_2()."\n";
echo date('r'), some_action_1(), "\n"; <-- this is nice # REMARK 2
echo date('r'), some_action_2(), "\n";
?>
使用
进行监控tail -f /tmp/log.txt
REMARK 1
慢的原因是因为函数先执行,而REMAKR 2
没有(先输出)
答案 2 :(得分:0)
登录TCP资源/套接字。并在网络上添加一个监听器。所以没有I / O.