[英]how to open a new CMD window using PHP
在过去的几天里,我试图在 PHP 中编写一些代码来弹出一个CMD windows 而这个CMD windows 有一个像“ ping google.com ”这样的命令并处理它
我不需要 PHP 代码来读取结果,我只希望它运行它我尝试了一些类似的东西
<?php
exec('C:\Windows\System32/cmd.exe ping google.com');
<?
但没有结果(我不知道它是否在后台运行)
所以我读了这篇文章,并建立了很多方法,但没有任何效果
我的操作系统是 windows,非常感谢大家:)
答案是
我搜索了很多找到它:))
<?
execInBackground('start cmd.exe @cmd /k "ping google.com"');
function execInBackground($cmd) {
if (substr(php_uname(), 0, 7) == "Windows"){
pclose(popen("start /B ". $cmd, "r"));
}
else {
exec($cmd . " > /dev/null &");
}
}
?>
一个真正的命令提示符怎么样? 这是一个允许PHP获取动态与真实cmd终端进行交互的项目。 在此处获取: https : //github.com/merlinthemagic/MTS
下载后,您只需使用以下代码:
//if you prefer Powershell, replace 'cmd' with 'powershell'
$shellObj = \MTS\Factories::getDevices()->getLocalHost()->getShell('cmd');
$strCmd1 = 'ping -n 4 www.google.com';
$return1 = $shellObj->exeCmd($strCmd1);
返回将为您提供cmd命令返回OR错误,就像您坐在控制台一样。
此外,您可以针对$ shellObj发出任何您喜欢的命令,在PHP脚本的整个生命周期中都会维护该环境。 因此,不是在脚本文件中捆绑命令,而是使用exeCmd()方法逐个发出它们,这样您也可以处理返回和任何异常。
它很简单shell_exec('ping google.com')
,打开一个新的 window 你可以使用以下命令
shell_exec('start cmd.exe @cmd /k "ping google.com"')
这将打开一个新的提示符 window,即使您可以输入多个命令
shell_exec('start cmd.exe @cmd /k "ping google.com & ping facebook.com"')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.