在最后几天,我想用PHP编写代码来弹出一个 CMD 窗口,这个 CMD 窗口有一个像“ ping google.com”这样的命令“并处理它 我不需要PHP代码来读取结果,我只想让它运行它 我试过像
这样的东西<?php
exec('C:\Windows\System32/cmd.exe ping google.com');
<?
但没有结果(我不知道它是否在后台运行)
所以我读了this,我找到了许多方法,但没有任何效果
我的操作系统是Windows并且非常感谢所有人:)
答案 0 :(得分:10)
答案是 我搜索了很多找到它:))
<?
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 &");
}
}
?>
答案 1 :(得分:0)
真正的命令提示符怎么样?这是一个允许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的错误,就像您坐在控制台一样。
此外,您可以针对$ shellObj发出任何您喜欢的命令,在PHP脚本的整个生命周期内都会维护该环境。因此,不是在脚本文件中捆绑命令,而是使用exeCmd()方法逐个发出命令,这样您也可以处理返回和任何异常。