【问题标题】:Launching .bat from php gives me a error 'java' is not recognised从 php 启动 .bat 给我一个错误“java”无法识别
【发布时间】: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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      您的网络服务器正在运行的帐户很可能不会将PATHJAVA_HOME 等环境变量设置为您自己的帐户。

      有什么办法可以解决?

      1. 更改全局 PATH 以包含缺少的 Java 路径。
      2. 更改批处理文件以更改 PATH 以在一开始就添加缺少的 Java 路径。
      3. 更改批处理文件以使用 Java 的完全限定路径

      但是,最好的方法是重构它。我会让 PHP 将您的意图写入数据库,并让另一个后台守护程序或服务从数据库中提取项目并在必要时执行任务。今天,您的 PHP 脚本将被阻止,直到您的批处理文件返回 - 不酷。从安全角度来看,这也很糟糕 - 您的网络服务器必须有权执行命令,这使得入侵您的网站变得更加容易。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多