gpt4 book ai didi

java - exec 命令在 Linux 服务器上不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:11:21 24 4
gpt4 key购买 nike

我使用 PHP 调用 Java 函数。代码是:

exec('pushd d:\xampp\htdocs\file_excecute\class & java Autoingestion username password id   Sales Daily Summary 20120902',$output,$return);

这段代码可以在 Windows 机器上运行,但不能在 Linux 服务器上运行。代码是:

exec('pushd \var\www\domainname.com\itune_report\class & java Autoingestion username password id Sales Weekly Summary 20120901',$output,$return);

最佳答案

您使用了错误的斜线作为字段分隔符,但这可能不是您唯一的问题。

命令的输出出现在 $output 中,因为您使用的是 exec(command, output, return) 形式。

然而,这只会给你标准输出。 shell 会将错误消息发送到 stderr。

不幸的是,exec() 没有读取 stderr 的版本。

您可以通过在 shell 命令末尾添加 2>&1 将两个输出合并到 $output:

exec("mycommand 2>&1", $output, $return);

查看 $output,您将或者找到成功命令的输出错误消息,您可以使用这些错误消息来找出为什么它不起作用。

如果你想写一些更严格的东西来分别处理 stdout 和 stderr,你需要使用 proc_open() 代替:PHP StdErr after Exec()

关于java - exec 命令在 Linux 服务器上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12263484/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com