В последние дни я пытался что-то кодировать в PHP, чтобы всплывающее окно CMD окна и это CMD Windows имеет команду, как «пинг 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);
Return даст вам команду return OR error из cmd, как если бы вы сидели за консолью.
Кроме того, вы можете выполнить любую команду, которая вам нравится, в отношении $ shellObj, среда поддерживается в течение всего срока действия сценария PHP. Таким образом, вместо объединения команд в файле сценария, просто выполните их одну за другой, используя метод exeCmd (), таким образом, вы также можете обрабатывать возврат и любые исключения.