代码之家  ›  专栏  ›  技术社区  ›  Andreas Bonini

php exec()未执行批处理文件

  •  2
  • Andreas Bonini  · 技术社区  · 15 年前

    我在谷歌上搜索这个问题,发现很多人都有同样的问题,但没有解决方案。

        $result = exec("C:\\Ruby191\\bin\\lessc.bat less\\$file", $output);
    

    在这里 result 是空字符串,并且 output 空数组。与以下内容相同:

        $result = exec("cmd /c C:\\Ruby191\\bin\\lessc.bat less\\$file", $output);
    

    我确信路径正确;我确信已启用exec()。

    我试过 exec , shell_exec , system 没有工作。

    莱斯克群岛 less CSS .


    编辑

    Apache错误日志显示:

    “ruby.exe”不被识别为 内部或外部命令,可操作 程序或批处理文件。

    2 回复  |  直到 15 年前
        1
  •  6
  •   Andreas Bonini    15 年前

    我发现了问题;我只是为这个安装了Ruby,并将它添加到我的 PATH 环境变量,它立即开始为命令提示工作。

    但是它不适用于PHP,所以我决定重新启动计算机。在那之后它起作用了。

        2
  •  0
  •   Sjoerd    15 年前

    首先chdir(“c:\ruby191\bin\”),然后运行lessc.bat。