我刚遇到问题,我正在使用webhook for github(我在php中写了一个)。
问题是,我想从我的php代码中使用pm2重新启动我的nodejs应用程序:
shell_exec("pm2 restart test");
但我的用户:www-data(nginx)无法执行它..当我尝试登录为www-data我得到了这个:
错误:EACCES,权限被拒绝' /。pm2' 在错误(本机) at Object.fs.mkdirSync(fs.js:747:18) at Object.CLI.pm2Init(/usr/local/lib/node_modules/pm2/lib/CLI.js:40:8) 在对象。 (在/ usr /本地/ 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"因为它不是很干净,你有什么想法吗?非常感谢您提前:)
答案 0 :(得分:0)
运行命令时设置正确的HOME环境变量
$ HOME=/home/USER pm2 restart test
答案 1 :(得分:-1)
嗯,我得到了一个解决方案,它是固定的。
我只需要用这一行运行我的应用程序:
SELECT * FROM `mytable` WHERE SUM(COLUMN2) LIKE '400'
然后它会在修改文件时观察并自动重启。