我有一个名为的 jar 文件MyJar.jar
,它接受 4 个参数。我需要使用 php 脚本执行这个 jar 文件。php 文件和 jar 文件位于同一目录中。
当我尝试使用该system
功能时,什么都没有发生,没有输出,什么也没有。其他函数(例如exec
,passthru
等 )也是如此。
这就是我尝试运行文件的方式。
system('java -jar ./MyJar.jar arg1 arg2 arg3 arg4');
// and also
system('./MyJar.jar arg1 arg2 arg3 arg4');
// and also
exec('./MyJar.jar arg1 arg2 arg3 arg4',$output);
print_r($output);
// nothing works
更新:感谢您的回答。但我什么都试过了。我尝试使用我的 jar 文件的绝对路径。我已经尝试了命令中继功能与绝对路径和相对路径的所有可能组合。我尝试使用chdir
. pwd
表明我走在正确的道路上。我不知道该怎么办了。
更新2:我刚刚发现了一些奇怪的东西。当我使用system
call 并指定一个返回值时,这个数字6
是返回的。如果我理解正确6
意味着该过程已被中止或其他什么。我想知道这意味着什么?
更新 3:检查错误日志后,生成了以下错误。有人可以帮我吗?
第696行的dl失败错误:失败/usr/lib/jvm/java-6-openjdk-i386/jre/lib/i386/server/libjvm.so,因为/opt/lampp/lib/libgcc_s.so.1:版本`找不到 GCC_4.2.0'(/usr/lib/i386-linux-gnu/libstdc++.so.6 需要)