【发布时间】:2016-06-23 10:55:02
【问题描述】:
我在 php 脚本中运行 exec 命令时遇到问题。
这是详细的场景:
我有一个从命令行运行的可执行文件 my_exe。这个可执行文件使用环境变量,所以我在命令前面加上
MY_VARIABLE='value'(工作正常)。我使用 exec 命令从 Php 脚本运行此可执行文件。例如:
exec("MY_VARIABLE='value' my_exe");(也可以正常工作,在浏览器中测试过)问题出在这部分。当我使用 HttpUrlConnection 从 Java 程序调用 php 脚本时,我有两种情况:如果我从服务器外部运行 Java 程序(使用公共 IP 地址)我会得到很好的结果,但是当我从服务器运行它(使用本地 IP,形式命令行 ex.“
java -jar /path/to/my/jar”),Php 工作但 exec 似乎不能正常工作。在这种情况下没有设置环境变量,所以可执行文件运行但没有正确的值,所以我没有得到任何结果。
感谢任何帮助。我真的被困在这里了。我的猜测是Php或Java权限有问题,但我想不通。
【问题讨论】:
-
注意:我使用的是 ubuntu 服务器
标签: java php exec httpurlconnection