以PHP脚本作为CGI模块执行Java程序

以PHP脚本作为CGI模块执行Java程序,php,cgi,exec,Php,Cgi,Exec,我正在尝试用PHP脚本执行一个Java程序。 不幸的是,当我作为CGI执行PHP时,这不起作用。 为了进行测试,我尝试执行以下PHP脚本: javaversion.php: <?php echo exec("java -version"); ?> 当我使用php.exe运行它时,我得到了期望的结果。 但是它在php-cgi.exe中失败了。两者都位于相同的目录中,可以访问相同的php.ini文件,并且具有相同的(正确的)环境变量。 我还在第二台干净的Windows服务器上复制

我正在尝试用PHP脚本执行一个Java程序。 不幸的是,当我作为CGI执行PHP时,这不起作用。 为了进行测试,我尝试执行以下PHP脚本:

javaversion.php:

<?php
 echo exec("java -version");
?>

当我使用php.exe运行它时,我得到了期望的结果。 但是它在php-cgi.exe中失败了。两者都位于相同的目录中,可以访问相同的php.ini文件,并且具有相同的(正确的)环境变量。 我还在第二台干净的Windows服务器上复制了这一点

我还尝试了以下函数,但没有成功:
shell\u execute()
system()
passthru()

我现在的问题是:为什么php.exe和php-cgi.exe会有那么大的不同,使用php-cgi模块运行Java程序的可能性是什么,因为我在目标系统上依赖php作为cgi模块


谢谢。

当php cgi版本失败时,错误消息是什么?此外,即使env vars是相同的,您也可以尝试java的完整路径?

不幸的是,我没有收到任何错误消息。而java的完整路径也没有帮助。奇怪。。。即使启用了所有错误,也没有消息?是的,它们已启用。问题是我无法执行java.exe。我试过的其他命令都正常工作。我多次检查了java.exe的路径