2016-09-14 81 views
0

我试图通过PHP执行sass --updateshell_exec()功能,并得到一个错误:如果我从手动CMD运行相同的命令PHP了shell_exec()SASS --update

H:\SERVER\htdocs\path\to\project>sass --style compressed --update sass\:deployment\css\ 'sass' is not recognized as an internal or external command, operable program or batch file. 

- 它工作正常。当前文件夹是正确的 - 使用getcwd()

回答

1

检查当您在shell中运行命令sass时,计算机必须在计算机上的某处找到名为sass的可执行程序。要做到这一点,它会查看一系列名为PATH的文件夹。您的PHP服务器最有可能使用与命令提示符不同的PATH运行,因此无法找到可执行文件。

要解决这个问题:从您的命令提示符下,其中sass没有工作,运行此命令:which sass(在Windows,改用where sass

,将告诉你青菜的确切位置(例如,它可能是/usr/bin/sass或类似的东西)。一旦你有了这个价值,用你的PHP代码中的“sass”替换整个位置。

+0

错误,命令只是'哪个sass'? “'其中'不被识别为内部或外部命令, 可操作的程序或批处理文件。” –

+0

呵呵,我想在Windows上你必须用“where”代替。 https://stackoverflow.com/questions/304319/is-there-an-equivalent-of-which-on-the-windows-command-line –

+0

是的,就是这样!它给了我道路:) –