php - 尝试从 PHP 执行 C 程序并将其输出到 Web 浏览器

标签 php linux

我有一个已编译为可执行文件的 C 程序。我可以从我的控制台运行这个程序。我试图通过我的网络浏览器获取该程序的输出,因此我在 PHP 中使用 exec 命令。当我从命令行执行我的 PHP 脚本时,它工作正常,但是当我通过浏览器调用它时,我没有得到任何输入。这是我的 PHP 程序

    <?php
    echo  exec('/var/www/html/./readcard');
    ?>

readcard程序有777个权限。我猜这个问题与权限有关?

最佳答案

您没有捕获输出。 exec 的第二个参数由一个数组组成,输出行将被放置到该数组中。

<?php
$output=array();
$rv=0;
exec('/var/www/html/./readcard',$output,$rv);

if($rv!=0)
{
  die("readcard failed, got a return value of $rv\n");
}

foreach($output as $line)
{
  echo("<p>$line</p>\n");
}
?>

关于php - 尝试从 PHP 执行 C 程序并将其输出到 Web 浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10519041/

相关文章:

linux - 命令输出重定向到文件和终端

python - Python 在每个 GNU/Linux 发行版上都有吗?

linux - 如何在 Windows 和 OS X 上的端口 80 上运行 Vagrant Apache

php - Symfony/Doctrine : How to reduce the num of SELECT-queries?(多级关联实体;twig + jsonSerialize())

javascript - 如何从外部页面链接操作元素的数据属性?

php - 测试空字节漏洞

linux - 在 perl 上打印包含 utf-8 字节序列的字符串

python - 有没有办法以编程方式获取 ps 输出?

php - Laravel 5.4 MethodNotAllowedHttpException

php - 使用 php ajax 检查用户名和密码