PHP exec 和 shell_exec : no output

标签 php centos g++

昨天我问了这个问题
Building g++ via PHP: no build output
那部分已经解决了,但现在我有一个类似/相关的问题。
当我通过浏览器地址栏运行编译后的可执行文件(参见其他问题)时,输出会按预期打印到浏览器窗口。
但是,我想在 PHP 中使用它并通过 exec 或 shell_exec 函数的返回来获取输出。我尝试了各种方法,包括以下内容:

$output = "test.cgi";

echo shell_exec($output);

echo shell_exec("$output 2>&1");

echo system($output);
什么都行。。
在内部,可执行文件是 c 代码,由 g++ 编译,并使用 print_f。默认情况下,这应该根据规范输出到 STDOUT,所以我不明白为什么这不起作用。
任何人都可以帮忙吗?

最佳答案

对于任何有同样问题的人,我找到了解决方案:
exec 需要文件的绝对路径

关于PHP exec 和 shell_exec : no output,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66183600/

相关文章:

php - 如何在 PHP 和 C++ 之间建立通信?

centos - 在 centos 上为 root 和普通用户设置 JAVA_HOME --> 检查 java -version

svn - 在 Centos 上安装 SVN 时得到 "Transaction Error"

c++ - 为什么 std::seed_seq 根据 C++11 是不可复制的,为什么 gcc/clang 不符合?

php - 如何在codeigniter中减去时间和日期?

php - 从 php 触发 bash 脚本时,服务未执行

php - 在 Laravel 中动态生成 URL

centos - VMWare Tools 在 CentOS 6.7 minimal 上失败并显示 "initctl: Job failed to start"

C++ 错误 std::result_of 没有命名类型

c++ - g++,如何找到出错的地方?