运行 MTProxy 通过 PHP 在 windows 服务器上执行远程
Run MTProxy remotely by PHP exec on windows server
我在 windows 服务器上安装了 PM2 和 node.js 到 运行 JSMTProxy-master 脚本。
运行 代理的命令是:(pm2 start "JSMTProxy-master\mtproxy.js" -i max) 并且它在 CMD window 中成功执行没有问题。
现在我想通过 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 安装并且运行良好。
尝试了很多次不同的方法,终于找到了问题所在。
"PM2" 不在 PHP exec 下执行。它必须包含 exe 文件的完整路径。
我如下更改了我的命令并且它起作用了:
shell_exec('C:\Users\Administrator\AppData\Roaming\npm\pm2.cmd start "C:\mypath\JSMTProxy-master\mtproxy.js" -i max')
我在 windows 服务器上安装了 PM2 和 node.js 到 运行 JSMTProxy-master 脚本。
运行 代理的命令是:(pm2 start "JSMTProxy-master\mtproxy.js" -i max) 并且它在 CMD window 中成功执行没有问题。
现在我想通过 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 安装并且运行良好。
尝试了很多次不同的方法,终于找到了问题所在。 "PM2" 不在 PHP exec 下执行。它必须包含 exe 文件的完整路径。
我如下更改了我的命令并且它起作用了:
shell_exec('C:\Users\Administrator\AppData\Roaming\npm\pm2.cmd start "C:\mypath\JSMTProxy-master\mtproxy.js" -i max')