- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
如果我在 shell 中执行此命令,我可以看到返回字符串。然而,exec()
没有返回任何东西。我也试过shell_exec()
无济于事。 php.ini 中的安全模式已关闭。可执行文件的权限是 rwxr-x-r-x
.我试过使用完整路径和短路径。我可以执行ls
没有问题,它返回适当的数据,但由于某种原因我无法从我编写的这个 c 程序中获得输出。它打印到 stdout
使用 printf()
功能,并且再次毫无问题地打印到命令行,但 php 不会接收它。什么给了?
$string_array;<br/>
exec("/bin/weight",$string_array);<br/>
var_dump($string_array);
替换 "/bin/weight"
与 "/bin/ls"
显示正确的结果。当我执行 "/bin/weight"
在 shell 中,它打印 {motion=false,weight=0,uom="LBS"}
正如它应该的那样,但它以某种方式没有使它成为 php。再次,在php.ini
, safe_mode = Off
.在这里拉我的头发...
c 程序的重要部分:
//build return string and send back to stdout
char weight_buf[32];
char result[1024]="{motion=";
if(motion==FALSE) {
strcat(result, "false,");
} else {
strcat(result, "true,");
}
strcat(result, "weight=");
if(negative==TRUE) {
strcat(result, "-");
}
//itoa(weight, weight_buf, 10);
sprintf(result, "%s%d", result, weight);
strcat(result, weight_buf);
strcat(result, ",uom=\"");
strcat(result, "LBS"); //TODO: fill in the actual units here
strcat(result, "\"}");
printf("%s\n", result);
return 0;
上面的代码打印到stdout
从命令行执行时就好了:
最佳答案
来自 exec manual page :
If the return_var argument is present along with the output argument, then the return status of the executed command will be written to this variable.
为了打印标准输出,您正在寻找的是 system()或 passthru()
需要说明的是,您可以将变量传递给 exec() 以接收所有输出,但此函数不返回它,仅返回脚本的返回码。
关于PHP exec 不返回特定程序的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8125935/
我正在尝试设置 rbenv: https://github.com/sstephenson/rbenv#section_2 我有一个问题:我必须在一切之前使用 rbenv exec 所以现在我要做 b
我已经使用我们的应用程序创建了图像,运行该图像后,我可以看到还创建了 docker 容器,当我尝试进入 docker 容器时,出现以下错误,请您在这里帮助我。 """"OCI runtime exec
这post on javapapers.com显示如何运行 JMH通过键入 mvn exec:exec 在 Maven 中进行基准测试。在 Maven 中运行 JMH 非常方便,因为您可以轻松地从 E
因为我是 shell 脚本的新手,exec命令总是让我感到困惑,同时用 while 探索这个话题循环触发了以下 4 个问题: 下面的语法 1 和 2 有什么区别 语法 1: while read LI
湖一看这两条线 案例 1 set cvsUpdStr [exec cvs -qn upd] 案例 2 set cvsUpdStr [exec cvs -qn upd >&@stdout] 对于第一种情
我有一个配置为使用 Maven 构建和运行的项目。该项目取决于平台特定的 native 库,我正在使用发现的策略 here管理这些依赖项。 本质上,特定平台的 .dll 或 .so 文件被打包到 ja
我发现 tcl exec 命令首先从标准输出返回字符串,然后是标准错误。例如,我下面的“测试脚本”按以下顺序生成消息: puts "test started" puts stderr "some no
我有 rpc error: code = 13 desc = invalid header field value "oci runtime error: exec failed: cannot ex
过去 2 天我遇到了一个问题。 我正在运行一个 tcl 脚本(用于 eggdrop),该脚本在被触发时执行本地 shell 命令(子进程),如果命令成功,它会输出结果。但是,如果命令不成功,我会收到错
假设我有一个像这样的 TCL 脚本: exec ls -l 现在这将打印出当前目录的内容。我需要将该输出作为字符串并解析它。我怎么能做到这一点? 最佳答案 exec返回输出,因此只需为其设置一个变量:
我正在尝试在 PHP 中使用 GNUPLOT 绘制正弦图,但是当我使用 exec 绘制该图时出现此错误: Warning: exec() [function.exec]: Cannot execute
我正在尝试 mvn exec:exec (或 mvn exec:java )使用类路径中的本地 jar 运行我的程序。但是 jar 无法加载: Exception in thread "main" j
我在最新的 Docker CLI 文档中注意到 Docker CLI 命令列表已经扩展。 如果我使用 码头执行 早些时候在容器内启动可执行文件现在我也可以使用 docker 容器执行 命令。 dock
这个问题在这里已经有了答案: Call to a member function exec() on a non-object error in PHP [duplicate] (1 个回答) 关闭
手册页说“exec() 系列函数用新的过程镜像替换当前的过程镜像。”但我不太明白“用新过程图像替换当前过程图像”的含义。比如exec成功,perror就达不到 execl("/bin/ls", /*
手册页说“exec() 系列函数用新的过程镜像替换当前的过程镜像。”但我不太明白“用新过程图像替换当前过程图像”的含义。比如exec成功,perror就达不到 execl("/bin/ls", /*
我正在 UrbanCode Deploy Shell 步骤中执行以下命令。我想要的是针对找到的所有文件运行 Util.sh。 find . -type f -exec ls -al {} \; fin
仅当将“-p”添加到 org.codehaus.mojo:exec-maven-plugin:1.6.0:exec 插件时,以下 pom.xml 执行才会失败,删除此参数后它运行正常,但我需要争论,有
我正在尝试进入 Maven 并开始编写一个小型库。作为库代码的一部分,我想要一个小型演示 Java 应用程序,可以用来查看库在做什么以及如何使用它。现在真正让我烦恼的一件事是,为了执行该演示,我必须执
我是 maven 的新手,在通过 maven 运行类文件时遇到问题 它运行良好 mvn exec:java -Dexec.mainClass="com.test.Test" 但不是 mvn exec:
我是一名优秀的程序员,十分优秀!