PHP exec () не выполняет командные файлы - PullRequest
2 голосов
/ 09 июня 2010

Я попытался поискать в Google по этой проблеме и нашел много людей с такой же проблемой, но без решения.

    $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 меньше CSS .


РЕДАКТИРОВАТЬ

Журнал ошибок apache гласит:

«ruby.exe» не распознается как внутренний иливнешняя команда, работающая программа или командный файл.

Ответы [ 2 ]

6 голосов
/ 09 июня 2010

Я обнаружил проблему; Я установил ruby ​​только для этого и добавил его в переменную окружения PATH, и он сразу же начал работать для командной строки.

Однако это не сработало для PHP, поэтому я решил перезагрузить компьютер. После этого все заработало.

0 голосов
/ 09 июня 2010

Сначала chdir ("C: \ Ruby191 \ bin \"), затем запустите lessc.bat.

...