2016-09-14 2 views
0

Я пытаюсь выполнить sass --update с помощью PHP shell_exec() функцию и получить ошибку: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

Когда вы запустите команду sass в оболочке, ваш компьютер должен найти исполняемую программу под названием sass где-то на вашем компьютере. Для этого он просматривает серию папок под названием PATH. Ваш PHP-сервер, скорее всего, работает с другим PATH, чем ваша командная строка, и, таким образом, не может найти исполняемый файл.

Чтобы это исправить: Из командной строки, где sass работает, выполните следующую команду: which sass (на Windows, а не использовать where sass)

Это покажет вам точное местоположение дерзости (например, это может /usr/bin/sass или что-то в этом роде). Когда у вас есть это значение, замените «sass» в вашем PHP-коде всем этим местоположением.

+0

Err, это команда, просто «которая сассирует»? "" который "не распознается как внутренняя или внешняя команда, исполняемая программа или командный файл." –

+0

О, да, я думаю, на Windows вы должны использовать «где». https://stackoverflow.com/questions/304319/is-there-an-equivalent-of-which-on-the-windows-command-line –

+0

Да, вот и все! Это дало мне Путь :) –