我正在尝试在我的php程序中执行jar文件。 我正在测试这个简单的例子:
exec('java -jar "C:\wamp\www\Hello.jar" myName', $output);
var_dump($output);
但它始终打印
array (size=0)
empty
顺便说一下,jar文件是System.out.println("hello "+args[0]);
,我正在用cmd测试它,它运行正常。
请帮助我两天以来一直在努力解决这个问题。
答案 0 :(得分:0)
试试这个:
exec('java -jar \"C:\wamp\www\Hello.jar" myName', $output);
而不是
exec('java -jar "C:\wamp\www\Hello.jar" myName', $output);
答案 1 :(得分:0)
尝试
exec("/path_to_java -jar C:\wamp\www\Hello.jar myName", $output);
答案 2 :(得分:0)
\
替换为\\
2>&1
将错误重定向到输出,以显示输出中的错误。简单:
$JAR = 'C:\\wamp\\www\\Hello.jar';
$CMD = sprintf(
'java -Xmx32m -jar %s myName 2>&1'
,escapeshellarg($JAR)
);
exec($CMD, $Output, $Status);
var_dump($CMD, $Output, $Status);