javascript - PM2 管理 PHP 脚本 - 集群模式

标签 javascript php node.js cluster-computing pm2

目前我正在使用 PM2 成功管理一些 PHP 守护进程(单实例),并且到目前为止一切顺利!

使用 PM2 并在管理 Node.js/IO.js 应用程序时,我可以毫无压力地在 PM2 上以集群模式启动它们!提到的 php 守护进程不会发生同样的情况!

那么,首先,是否可以使用 PM2 管理/启动 PHP 脚本的集群实例(或者 PM2 功能只能在 Node.js/IO.js 脚本上使用)?

如果是这样(可以这样做),需要哪些特殊的“调整”来将 PHP 脚本与 PM2 集群!?

在尝试启动一些 pm2 start xxx.php -i 2 --name XXX 时,我在错误日志路径处收到以下错误:

SyntaxError: Unexpected token <
    at Module._compile (module.js:439:25)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function._load (/usr/local/lib/node_modules/pm2/node_modules/pmx/lib/transaction.js:62:21)
    at /usr/local/lib/node_modules/pm2/lib/ProcessContainer.js:200:23
    at /usr/local/lib/node_modules/pm2/node_modules/async/lib/async.js:52:16
    at /usr/local/lib/node_modules/pm2/node_modules/async/lib/async.js:1209:30
    at WriteStream.<anonymous> (/usr/local/lib/node_modules/pm2/lib/Utility.js:126:13)
    at WriteStream.EventEmitter.emit (events.js:95:17)

...这让我相信它甚至无法解析给定的 PHP 文件!

预先感谢您对此提供的任何帮助!

最佳答案

简短回答:您不能在 php 中使用集群模式。

pm2 集群模式仅适用于 javascript。在内部它使用nodejs cluster模块并需要您的脚本 ( code line )。 这也解释了您的错误,pm2 尝试使用 javascript 执行 php 代码(因此出现 SyntaxError)。

当使用 fork 模式时,它使用您的解释器(此处为 php)来启动脚本。这就是为什么你还可以在 Nodejs 上运行 python 或 ruby​​!

关于javascript - PM2 管理 PHP 脚本 - 集群模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35991723/

相关文章:

php - Zend_Db_Select 如何从子查询中选择(派生表)

php - 制作动态下拉导航系统

javascript - 在 Jquery 中为盒子制作动画

javascript - $.post 函数之外的 jquery 无法使用另一个函数

javascript - 即时将 JSX 字符串编译为组件

javascript - 如何在递归生成的 <select> 下拉列表中附加回调?

php - 我有三个 div,如何在不重新加载 php-codeigniter 中的整个页面的情况下仅在特定的 div 中加载数据?

javascript - Node.js 中稀疏数组的内存消耗

angularjs - 如何从多选控件中获取选定值对象

node.js - 如何将不同模块中的一条路由与index.js 中的 "require it"分开?