目前,我将 PHP-FPM 与 NGINX 一起用于前端请求,但也通过使用 exec 的长时间运行的 PHP 脚本运行一些后台进程,以使用命令行 PHP 运行其他脚本。我在想的是,如果这些也通过 PHP-FPM 运行,效率会更高吗?关于如何执行此操作的任何想法?谢谢。
最佳答案
FPM 是一种管理FastCGI P进程的工具。只是打乱字母。虽然它管理长时间运行的 PHP 进程,但它仅在 FastCGI 的精神保护下这样做。
因为您要创建一个后台工作队列,所以您需要一些设计的东西来管理后台工作队列和正在运行的进程。
Gearman是工作队列一半的绝佳选择。它与平台和语言无关,并且可以上天和后天进行扫描。 PECL extension效果很好。
为了让那些长时间运行的进程继续运行,请查看 Supervisor .
两人是绝配。查看this blog post by PHP hacker Matthew Weier O'Phinney记录了他与 Gearman 和 Supervisor 的一些探索。
关于command-line - 通过 PHP-FPM 运行命令行 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7314563/