由Windows服务器上的PHP exec远程运行MTProxy

问题描述 投票:1回答:1

我在Windows服务器上安装了PM2和node.js以运行JSMTProxy-master脚本。

用于运行代理的命令是:(pm2 start“ JSMTProxy-master \ mtproxy.js” -i max),它在CMD窗口中成功执行,没有问题。

现在我想通过PHP和exec执行此命令。

我尝试过:

exec ('pm2 start "JSMTProxy-master\mtproxy.js" -i max');

或者这个:(只是在taskmgr中显示了cmd.exe)

exec ('c:\WINDOWS\system32\cmd.exe /c START "pm2 start c:\mypath\JSMTProxy-master\mtproxy.js -i max"');

或此:

exec ('c:\WINDOWS\system32\cmd.exe /c START "JSMTProxy-master\mtp-run.bat"');

这些不起作用,什么也没发生。没有错误,taskmgr中没有进程。

应该如何由exec运行?

注意。我已经安装了PHP,并且运行正常。

php node.js cmd window-server mtproto
1个回答
0
投票

经过多次尝试不同的方法后,终于找到了问题。“ PM2”不在PHP exexc下执行。它必须是exe文件的完整路径。

我如下更改了命令,它起作用了:

shell_exec('C:\Users\Administrator\AppData\Roaming\npm\pm2.cmd start "C:\mypath\JSMTProxy-master\mtproxy.js" -i max')
© www.soinside.com 2019 - 2024. All rights reserved.