当使用php启动.bat时,我得到这个“java不被识别为内部或外部命令”但是当在Windows中单击.bat时它将正常启动。这是我用来启动的代码。蝙蝠
exec('START D:\http\ftp\vanilla-server\run.bat');
答案 0 :(得分:1)
试试这个(在你的批处理中,对于x32 Win):
set "PATH=%PATH%;C:\%ProgramFiles%\java\jre7\bin"
答案 1 :(得分:0)
您的网络服务器运行的帐户最有可能不会将PATH
,JAVA_HOME
等完全相同的环境变量设置为您自己的帐户。
可以做些什么来解决它?
然而,最好的方法是重构这个。我希望PHP能够将您的意图写入数据库,并从数据库中获取另一个后台守护程序或服务提取项,并在必要时执行任务。今天,您的PHP脚本将被阻止,直到您的批处理文件返回 - 而不是很酷。从安全角度来看,它也很糟糕 - 您的Web服务器必须具有执行命令的权限,这使得破解您的网站变得更加容易。