服务器调用的PHP脚本是否异步运行?

CGr*_*fin 4 php ubuntu server

如果服务器通过命令行调用PHP脚本(在Ubuntu服务器上),那么该脚本的多个实例是否可以同时运行?在我的例子中,它是一个PHP脚本,使用FFmpeg转换上传的视频.因此,如果八个用户同时(或非常接近)上传视频,那么该PHP脚本的八个实例会同时运行,还是会一个接一个地排队?如果他们排队,有没有办法改变它,以便多个实例可以同时运行?

Sco*_*ady 5

同一脚本的多个实例确实可以同时运行.需要注意的是,性能会降低同时运行的脚本数量.另外,您应该注意,如果您正在与数据库进行交互,并且您正在LOCK编写一个用于写入的表,那么这将无法异步完成并将导致形成队列(尽管是一个小队列,具体取决于正在执行的操作).

证明

你可以通过创建一个调用exec()某个地方并执行另一个PHP脚本的PHP脚本来检查这个(或者确实是同一个脚本 - 但要注意不要创建一个无限循环).也许将时间戳吐出到文件或数据库,以便您可以充分地看到它发生.