PHP exec()不执行批处理文件

时间:2010-06-09 10:45:59

标签: php windows exec less

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

    $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()已启用。

我尝试了execshell_execsystem,但都没有效果。

lessc是less CSS


修改

apache错误日志说:

  

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

2 个答案:

答案 0 :(得分:6)

我发现了问题;我为此安装了ruby并将其添加到我的PATH环境变量中,并立即开始工作以获取命令提示。

然而它不适用于PHP,所以我决定重启我的电脑。之后它起作用了。

答案 1 :(得分:0)

第一个chdir(“C:\ Ruby191 \ bin \”),然后运行lessc.bat。