我有一个已编译为可执行文件的 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/