我不能从php调用java
系统变量“Path”包含我不能从php调用java,java,php,windows-server-2012,Java,Php,Windows Server 2012,系统变量“Path”包含C:\ProgramFiles\Java\jre7\bin\ 看起来,我甚至不能从PHP访问java。系统为Windows Server 2012。通过cmd终端,java可以正常工作 当我从php通过exec调用java命令时,如下所示: exec("java -version", $string); preg_match("/java version \"(.*)\..*.*\"/", $string[0], $matches); $java_version = $m
C:\ProgramFiles\Java\jre7\bin\
看起来,我甚至不能从PHP访问java。系统为Windows Server 2012。通过cmd终端,java可以正常工作
当我从php通过exec
调用java命令时,如下所示:
exec("java -version", $string);
preg_match("/java version \"(.*)\..*.*\"/", $string[0], $matches);
$java_version = $matches[1];
$java_version
为空
有什么想法吗
我怀疑,这与Windows上的访问权限有关,可能是吗?当您调用
java-version
时,输出会写入stderr
。所以写
exec("java -version 2>&1", $string);
要捕获
stderr
输出。首先,您应该检查这里是否有任何内容$string[0]
我很确定我昨天看到了一个相同的问题……不,$string[0]中没有任何内容。是的,我昨天发布了一个类似的问题,但标记错误,因此大部分内容都受到监督。@Ferenjito然后使用完整路径