【发布时间】:2014-12-27 23:55:31
【问题描述】:
我正在尝试在我的 php 文件中执行以下操作:
exec("java -jar /Applications/XAMPP/htdocs/Web/SimpleEncryption.jar hola", $output);
我得到数组(0){}
如果我在终端中执行 php file.php 就可以了。
如果我跑了
exec("whoami", $result);
我在浏览器中得到 Array ( [0] => daemon ),在终端中得到 Array ( [0] => dao )。 dao=我的用户。
我不知道我必须授予什么权限以及如何授予它们。
谢谢
【问题讨论】:
-
网络服务器用户(例如 apache 的 www-data)没有执行 shell 命令的权限。
-
确保用户
daemon知道在哪里可以找到java。 -
java可能不在网络服务器的$PATH中。使用命令的完整路径。 -
谢谢,我添加了 java 的路径...现在我收到以下错误:VM 初始化期间发生错误" [1]=> string(45) "无法加载本机库:libjava .jnilib 有人在另一篇帖子中说: exec('export DYLD_LIBRARY_PATH=""; /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java -version');但它没有用。你现在怎么解决呢?我正在使用 MAC