我尝试谷歌搜索这个问题,发现很多人有同样的问题,但没有解决方案。
$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
,但都没有效果。
lessc是less CSS。
修改
apache错误日志说:
'“ruby.exe”'无法识别为 内部或外部命令,可操作 程序或批处理文件。
答案 0 :(得分:6)
我发现了问题;我为此安装了ruby并将其添加到我的PATH
环境变量中,并立即开始工作以获取命令提示。
然而它不适用于PHP,所以我决定重启我的电脑。之后它起作用了。
答案 1 :(得分:0)
第一个chdir(“C:\ Ruby191 \ bin \”),然后运行lessc.bat。