2016-09-14 101 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

是的,就是這樣!它給了我道路:) –