Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.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启动.bat会给我一个错误';java';不被承认_Java_Php_Batch File_Exec - Fatal编程技术网

从php启动.bat会给我一个错误';java';不被承认

从php启动.bat会给我一个错误';java';不被承认,java,php,batch-file,exec,Java,Php,Batch File,Exec,当用php启动.bat时,我得到这样一个信息:“java不被识别为内部或外部命令”,但在windows中单击.bat即可启动。这是我用来启动的代码。球棒 exec('START D:\http\ftp\vanilla-server\run.bat'); 您的web服务器运行的帐户很可能没有设置完全相同的环境变量,如PATH,JAVA\u HOME,等等。。。作为你自己的账户 可以做些什么来修复它 更改全局路径以包含缺少的Java路径 将批处理文件更改为ALTERPATH,以便在一开始就向Jav

当用php启动.bat时,我得到这样一个信息:“java不被识别为内部或外部命令”,但在windows中单击.bat即可启动。这是我用来启动的代码。球棒

exec('START D:\http\ftp\vanilla-server\run.bat');

您的web服务器运行的帐户很可能没有设置完全相同的环境变量,如
PATH
JAVA\u HOME
,等等。。。作为你自己的账户

可以做些什么来修复它

  • 更改全局路径以包含缺少的Java路径
  • 将批处理文件更改为ALTERPATH,以便在一开始就向Java添加缺少的路径
  • 将批处理文件更改为使用Java的完全限定路径
  • 然而,最好的方法是重构它。我将使用PHP编写您的意图,以便在数据库中执行某些操作,并使用另一个后台守护程序或从数据库中提取服务项,并在必要时执行任务。今天,您的PHP脚本将被阻止,直到批处理文件返回-不酷。从安全角度来看,这也很糟糕-您的web服务器必须具有执行命令的权限,这使得黑客攻击您的网站变得更加容易。

    试试这个(在您的批中,对于x32 Win):

    set "PATH=%PATH%;C:\%ProgramFiles%\java\jre7\bin"