Две команды Shell_Exec с кнопкой PHP, но все еще в One PowerShell? - PullRequest
0 голосов
/ 08 мая 2019

У меня есть синтаксис Powershell, который может получать данные с помощью ReadExisting (), но проблема в том ... что синтаксис должен соответствовать условию php раньше (и некоторый синтаксис shell_exec при загрузке страницы)

Я пытаюсь получить данные COM1 с помощью powershell, и его работа с этим кодом

cmd powershell

на этом изображении первый ReadExisting () не может объявить вывод, потому что устройство в COM1 не показывает новый результат, когда устройства показывают результат, снова пытается ReadExisting (), и я получаю то, что хочу.

Итак (что по моему мнению) логика, которую я должен реализовать на PHP: - Сначала выполните $ port и $ port.Open () - Выполните ReadExisting () после этого.

Я пытаюсь сделать php-код следующим образом

<?php
    $result = shell_exec('powershell $port = New-Object System.IO.Ports.SerialPort COM1,9600,None,8,one ; Get-Variable ;  $port.Open(); $port.ReadExisting() ');

    echo $result 

?>

<form method="post">
    <input type="submit" name="test" id="test" value="RUN" /><br/>
</form>

<?php
    function testfun()
    {
      $result2 = shell_exec('powershell $port.ReadExisting()');
      echo $result2;
    }

    if(array_key_exists('test',$_POST)){
       testfun();
    }
?>

но кнопка не показывает такой результат в PowerShell. Что я могу видеть, вероятно, потому что я делаю два shell_exec?, И да, результат $ работает (я уже тестирую его, и я вижу переменную соединения порта)

возможно ли создание метода продолжения команды оболочки с условием кнопки? благодарю вас!.

...