【发布时间】:2016-01-16 13:16:52
【问题描述】:
我刚刚遇到一个问题,我正在使用 github 的 webhook(我在 php 中编写了一个)。
问题,我想用 pm2 从我的 php 代码中重新启动我的 nodejs 应用程序:
shell_exec("pm2 restart test");
但我的用户:www-data (nginx) 无法执行它。当我尝试以 www-data 身份登录时,我得到了这个:
错误:EACCES,权限被拒绝'/.pm2' 在错误(本机) 在 Object.fs.mkdirSync (fs.js:747:18) 在 Object.CLI.pm2Init (/usr/local/lib/node_modules/pm2/lib/CLI.js:40:8) 在对象。 (/usr/local/lib/node_modules/pm2/bin/pm2:21:5) 在 Module._compile (module.js:460:26) 在 Object.Module._extensions..js (module.js:478:10) 在 Module.load (module.js:355:32) 在 Function.Module._load (module.js:310:12) 在 Function.Module.runMain (module.js:501:10) 启动时 (node.js:129:16)
我不想使用“sudo”,因为它不是很干净,你有什么想法吗?非常感谢你:)
【问题讨论】:
-
在某些情况下,您仍然希望能够从 PHP API 操作 pm2 库。我现在正在处理同样的情况, --watch 不是一个选项。
标签: php node.js nginx github pm2