PHP / Linux资源分配

我有一个执行shell命令的PHP脚本…我遇到了PHP脚本处于暂停状态,直到它从shell命令接收输出的问题。 如果shell命令需要5分钟,那么PHP脚本也是如此。 这是好的,但我也碰到的是,当页面被阻止,它也拖延整个网站,直到shell脚本完成。 我想明白为什么会发生这种情况

我已经创build了一个hello.php并把一个简单的echo 'hello world'; 并且能够在PHP脚本等待shell命令完成时成功运行它。 这告诉我,当站点停滞时,它必须是正在使用的PHP文件相关的东西,所以它不会提供额外的页面请求。

有什么想法吗?

PHP中几乎所有的进程执行函数(例如exec ,backtick operator, shell_exec )等待被调用的程序完成。 它就是这样儿的。

如果你想在被调用的程序运行的时候在你的PHP脚本中做其他事情,可以使用它的背景或者使用PHP的过程控制函数 。