通过PhP运行cmd

通过PhP运行cmd,php,batch-file,cmd,server,psexec,Php,Batch File,Cmd,Server,Psexec,TL;DR:我正在尝试运行基于PhP的web服务器。我知道PsExec可以工作,但它看起来有问题。如果有人得到了比PsExec更有用的东西,我愿意试试。(还是潜在的解决方案?) 到目前为止,我已经尝试了很多东西,包括: exec() passthru() system() shell_exec() 这些都不管用。我猜他们可以通过CMD执行命令,比如ipconfig/all(在服务器上运行良好),然后将其上传到站点。换句话说,执行它,等待输出,将其发送到服务器 问题是: 我想运行a.bat/.e

TL;DR:我正在尝试运行基于PhP的web服务器。我知道PsExec可以工作,但它看起来有问题。如果有人得到了比PsExec更有用的东西,我愿意试试。(还是潜在的解决方案?)

到目前为止,我已经尝试了很多东西,包括:

exec()
passthru()
system()
shell_exec()
这些都不管用。我猜他们可以通过CMD执行命令,比如ipconfig/all(在服务器上运行良好),然后将其上传到站点。换句话说,执行它,等待输出,将其发送到服务器

问题是:

我想运行
a.bat/.exe(我可以制作一个.bat的exe),而不是等待它,它必须保持打开状态,因为它是一个游戏服务器

加入游戏的端口(7777)是完全开放的,运行它手册允许我加入。所以我只需要在PhP页面上运行它

我尝试过使用PsExec,但出于某种原因,它在teamviewer中出现了很多bug?我想这是因为它让我在一个“不同”的窗口会话中登录


是啊!如果你对PsExec有任何建议,或者你还有其他东西要给我,那就去吧,让我开心吧

在windows上,您可以使用
wmic process call create
来执行此操作,以运行进程而不等待:

<?php
$app = "notepad.exe";
$cmd = 'wmic process call create "'.$app.'"';
$output = shell_exec($cmd);

我试过你的东西,我想我可能做错了?我制作了一个新的.bat,ran在cmd(“START command.bat”)中,上面写着:$app不被认为是实习生命令/外部程序(法语)。没关系!我很笨。。我已经把你的东西放在我的密码里了,看来能用了?我的意思是,它没有给我一个错误,但它也没有打开任何东西。手动运行它的工作!你可能想用批处理文件替换notepad.exe(或者你可以使用full命令绕过批处理文件)。意识到我在示例中犯了一个错误,并在单引号中包含了一个变量,我现在已经纠正了。是的,当我尝试它时,我发现非常快^^^,也感谢您的快速回复。到目前为止,我已经尝试过:
$app='“C:\ProgramFiles(x86)\Steam\steamapps\common\Terraria\Terraria.exe”;$cmd='wmic进程调用创建'$应用程序;$output=shell_exec($cmd)
应该打开terraria.exe(一个游戏),当我在cmd中运行它时,效果很好,但当我进入我的网页时(如上面的代码所示)。我还试用了记事本($app='notepad.exe';并对之前的记事本进行了评论),但效果不佳