php - 带有 PHP 按钮的两个 Shell_Exec 命令,但仍在一个 powershell 中?

标签 php shell-exec

我有可以使用 ReadExisting() 获取数据的 Powershell 语法,但问题是......该语法必须在之前强制执行 php 条件(以及页面加载时的一些 shell_exec 语法)

我尝试使用 powershell 获取 COM1 数据,并使用这段代码

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?是的,$result 正在运行(我已经在测试它并且我可以看到端口连接变量)

是否有可能使 shell 命令与按钮条件保持一致?谢谢你!。

最佳答案

我认为 Powershell 的 session 可以提供帮助。这类问题通常是这样解决的。 session 启动和维护的详细文档可用here

如果使用 session ,命令可以具有连续性。

关于php - 带有 PHP 按钮的两个 Shell_Exec 命令,但仍在一个 powershell 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56032763/

相关文章:

php - MySQL 提交和事务

PHP编码问题

php - nginx 和 php 拒绝访问

php - 在 PHP 上通过 shell_exec 执行 wget 是否允许我轻松关闭浏览器而无需等待它完成下载?

php - 通过 PHP 的 shell_exec() 启动 ffmpeg 作业时,防止在错误日志中输出

php - strpos 未返回正确的结果

php - 在一个 mysql 中连接两个查询

php - 如何按日期对包含通过合并 get_posts 结果创建的 WP po​​st 对象的数组进行排序?

PHP shell_exec 等待脚本完成?

PHP exec : hangs, 不继续到下一行