我制作了一个PHP脚本来将一些数据加载到串行设备,这个操作需要几秒钟(10/15)。对于请求者来说这不是问题,http请求需要一段时间才能像所有重页一样回来。
我的问题是这个脚本包含对该Apache / Php Web服务器的所有其他请求。
这有什么方法可以在php中异步处理或配置php(或apache)来管理它而不是排队所有其他请求? 现在我的apache和php配置是标准的生产配置。
答案 0 :(得分:0)
通常情况下,PHP不适用于Asynchronism。如果你想要一个Async解决方案,你应该看看NodeJS。
但是,有很多PHP库可以让你模仿这种行为,但是,我不能保证你会遇到什么样的开销,或者这些库的可靠性。
更直接地回答您的问题:您无法配置Apache和PHP来异步处理(或模仿)它的请求。你需要以编程方式进行。
第一条(线程,这不是异步): PHP threading call to a php function asynchronously
第二条(段IO):https://segment.io/blog/how-to-make-async-requests-in-php/
示例Lib(React PHP):http://reactphp.org/
你正走向一条黑暗的道路,我的朋友。 PHP不是为此而制作的。 PHP死亡的众多原因之一。