我正在使用php的shell_exec来调用bash文件,系统程序和Ksh文件。
shell_exec的一个问题是,如果您需要输出,则在完成该过程之前,您的Web服务器将锁定(即,将不提供新的请求)。一个常见的技巧是将进程设置为在后台运行(> / dev / null 2> / dev / null&),但这当然会丢弃任何输出。
我尝试从apache切换到nginx,以为这可以解决我的问题,但潜在的问题似乎是php的shell_exec如何阻止I / O。即使使用nginx,shell_exec也会完全阻止任何新的http请求完成。
有谁知道如何在不锁定服务器的情况下使用php进行系统调用,同时还捕获输出?
我正在考虑建立一个管理异步系统调用的库,以便以后可以使用Ajax检索输出。
但我不想走那条路。有什么建议?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句