【发布时间】:2016-01-22 16:47:22
【问题描述】:
我有 script.sh 向某个 URL 发送请求并使用 whet 打印执行时间。以下是源代码:
time wget http://some.url
当我从命令行运行它时,我看到精确到小数点后 3 位的时间结果:
real 0m0.584s
user 0m0.000s
sys 0m0.002s
但是,当我使用 PHP 函数 exec("script.sh", $output) - 运行这个 SH 时,我看到的时间结果只有小数点后 2 位:
0.00user 0.00system 0:00.32elapsed 0%CPU (0avgtext+0avgdata 3788maxresident)k
我怎样才能得到与我在命令行中看到的相同的结果?
【问题讨论】:
-
欺骗 php 版本,使其认为它是从交互式 shell(例如,真正的终端窗口)运行的。如果检测到输出将进入非交互式环境,许多应用会重新格式化其输出,使其对“后处理”更友好。