【发布时间】:2013-06-15 18:05:12
【问题描述】:
当使用 php 启动 .bat 时,我得到这个“java 不被识别为内部或外部命令”,但是当在 windows 中单击 .bat 时它会正常启动。这是我用来启动 .蝙蝠
exec('START D:\http\ftp\vanilla-server\run.bat');
【问题讨论】:
标签: java php batch-file exec
当使用 php 启动 .bat 时,我得到这个“java 不被识别为内部或外部命令”,但是当在 windows 中单击 .bat 时它会正常启动。这是我用来启动 .蝙蝠
exec('START D:\http\ftp\vanilla-server\run.bat');
【问题讨论】:
标签: java php batch-file exec
试试这个(在你的批次中,对于 x32 Win):
set "PATH=%PATH%;C:\%ProgramFiles%\java\jre7\bin"
【讨论】:
您的网络服务器正在运行的帐户很可能不会将PATH、JAVA_HOME 等环境变量设置为您自己的帐户。
有什么办法可以解决?
但是,最好的方法是重构它。我会让 PHP 将您的意图写入数据库,并让另一个后台守护程序或服务从数据库中提取项目并在必要时执行任务。今天,您的 PHP 脚本将被阻止,直到您的批处理文件返回 - 不酷。从安全角度来看,这也很糟糕 - 您的网络服务器必须有权执行命令,这使得入侵您的网站变得更加容易。
【讨论】: