gpt4 book ai didi

java - 从本地主机上的 Java 调用时,Php exec 无法正常运行

转载 作者:太空宇宙 更新时间:2023-11-04 12:29:39 24 4
gpt4 key购买 nike

我在 php 脚本中运行 exec 命令时遇到问题。
这是详细的场景:

  • 我有一个从命令行运行的可执行文件my_exe。此可执行文件使用环境变量,因此我在命令前面添加 MY_VARIABLE='value' (工作正常)。

  • 我使用 exec 命令从 Php 脚本运行此可执行文件。 ex: exec("MY_VARIABLE='value' my_exe"); (也可以正常工作,在浏览器中测试)

  • 问题出在这一部分。当我使用 HttpUrlConnection 从 Java 程序调用 php 脚本时,有两种情况:如果我从服务器外部运行 Java 程序(使用公共(public) IP 地址),我会得到良好的结果,但是当我从服务器运行它(使用本地 IP,形成命令行 ex.“java -jar/path/to/my/jar”)时,Php 可以工作,但 exec 似乎无法正常工作。在这种情况下,未设置环境变量,因此可执行文件运行但没有正确的值,因此我没有得到任何结果。

感谢任何帮助。我真的被困在这里了。我的猜测是Php或Java权限有问题,但我无法弄清楚。

最佳答案

奇怪的命令 exec("MY_VARIABLE='value' my_exe");...它只能在 Linux 机器上运行,不能在 Windows 上运行。第一步,尝试重写 php 代码,如下所示:

putenv("MY_VARIABLE=value");
exec("my_exe");

看看会发生什么。

关于java - 从本地主机上的 Java 调用时,Php exec 无法正常运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37989590/

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