Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我不能从php调用java_Java_Php_Windows Server 2012 - Fatal编程技术网

我不能从php调用java

我不能从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

系统变量“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 = $matches[1];
$java_version
为空

有什么想法吗



我怀疑,这与Windows上的访问权限有关,可能是吗?

当您调用
java-version
时,输出会写入
stderr
。所以写

exec("java -version 2>&1", $string);

要捕获
stderr
输出。

首先,您应该检查这里是否有任何内容
$string[0]
我很确定我昨天看到了一个相同的问题……不,$string[0]中没有任何内容。是的,我昨天发布了一个类似的问题,但标记错误,因此大部分内容都受到监督。@Ferenjito然后使用完整路径