2012-06-17 49 views
0

我在Linux下编写一个PHP脚本程序。在脚本中,我需要使用exec调用许多其他系统工具/程序来实现某些目标。我知道每当我在终端中运行一个shell脚本时,一个新的子进程将被创建并与父进程一起运行。如果我在我的PHP脚本中使用了太多的exec,并且应该有许多进程来回运行,我认为这将是低效率的,因为进程权重很大。使用exec进行高效PHP编程

这里是我的问题:在Linux中接近编程目标的有效方式和常见模式是什么? PHP会在这种情况下理想吗?

+2

这不够具体。例如,可以将所有任务放到一个脚本的所有实例中共享的一个中央'exec()'或一个守护进程中,但这是否可能,完全取决于你的目标是什么* –

+0

您能否请更具体地说明如何使用在脚本的所有实例之间共享的守护进程来实现此目的?任何示例?谢谢! – cache

+0

你在什么情况下使用每种模式? – cache

回答

1

即使使用exec的开销不仅仅是一个标准的PHP函数调用,我根本不会认为它很昂贵。这是一种非常有效的做事方式,当你牢记安全考虑时,我会说它没有任何问题。

您可能会问是否过早优化是否值得麻烦?那么我会说不。

+0

我认为他的问题更多的是他是'exec()'的东西 - 这确实很快就会变得讨厌。想象一下,10个用户启动一个ImageMagick进程,每个进程需要200MB的内存.... –

+0

哈哈,想象一下,让你的当地运动队把卡车驶入你的道路上的所有房屋。有想法?即使你有一个每个需要200MB内存的PHP函数,并且你有10个用户启动了它,与exec变体的区别也是最小的。当然是 – hakre

+0

。 PHP部分并不是他的问题所在,即使他可能不知道。在目前的状态下,这是无法回答的,因为他并不是说他想做什么 –