5

谁能告诉我为什么exec()PHP 中不同机器上的功能如此缓慢且时间不可预测?

基本上我有一些可执行文件并想通过 PHP 执行它:

$command = '/usr/pathToComman/myCommand -someParameters';
exec($command);

问题是它执行的时间要长得多(我的意思是 3-4 有时像 25 倍)然后来自 shell 的相同命令。

除此之外,该命令从我的服务器上的 PHP 执行的时间更长,这更强大(更多 RAM 和更多 GHz)。

所以有两个问题:

  • 为什么?
  • 我该怎么办?

PS我需要这个执行,因为我不能用PHP做同样的事情

PS2 回答@prodigitalson 问题:它解决了微分方程,但基本上不管它做什么,速度都会慢得多。我记得用这种方式做了一些图像处理,速度也慢了很多。

4

1 回答 1

1

速度较慢的问题可能是因为您的 PHP 服务器必须转到 shell 才能运行您的命令。所以 PHP 服务器所做的就是创建一个新的 shell 并在新的 shell 上调用命令。在大多数系统中,创建一个新的 shell 意味着创建一个新线程。所以所有这些事情加在一起会导致更长的执行时间。

有时 cgi 脚本可以帮助解决这些问题,但我不确定它是否会在这里有所帮助(因为我真的不知道你想在 shell 上做什么)

于 2012-11-26T15:33:58.903 回答