我试图在我的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中测试它,它工作得很好。
请帮忙,我已经纠结这个问题两天了。
try this:
exec('java -jar '"C:'wamp'www'Hello.jar" myName', $output);
代替
exec('java -jar "C:'wamp'www'Hello.jar" myName', $output);
Try
exec("/path_to_java -jar C:'wamp'www'Hello.jar myName", $output);
- 您必须转义反斜杠:将
'
替换为''
你应该分别构建CMD和JAR字符串。(良好的编程) - 用
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);