有谁可以告诉我为什么exec()
函数在PHP中的不同机器上如此缓慢且时间不可预测?
基本上我有一些可执行文件,想要通过PHP执行它:
$command = '/usr/pathToComman/myCommand -someParameters';
exec($command);
事情是,它执行的时间要长得多(我的意思是3-4次,有时候要长25倍),然后是来自shell的相同命令。
除此之外,命令从我服务器上的PHP执行得更长,这更强(更多RAM和更多GHz)。
所以有两个问题:
P.S。我需要这个执行,因为我不能用PHP做同样的事情
P.S.2回答@prodigitalson问题:它解决了微分方程,但基本上无论它做什么,速度都要慢得多。我记得以这种方式进行一些图像处理,速度也慢得多。
答案 0 :(得分:1)
为什么这个速度慢的问题可能是因为你的PHP服务器必须转到shell来运行你的命令。那么PHP服务器所做的就是创建一个新shell并在新shell上调用该命令。创建新shell意味着在大多数系统中创建新线程。 因此,所有这些因素共同导致执行时间更长。
有时cgi脚本可以帮助解决这些问题,但我不确定它是否会对此有所帮助(因为我真的不知道你在shell上尝试做什么)