Невозможно выполнить команды пролета в переполнении стека

Я пытаюсь запустить некоторые команды flyway внутри функции из php.
это простая чистая функция, которая выглядит примерно так:

function clean_schema() {
chdir('my/current/path');
try{
exec('flyway clean', $output, $result);}
catch(Exception $e){
var_dump($e);
}
}

Теперь в качестве результата и результата я получаю пустой массив и ошибку 127. Я осмотрелся и обнаружил, что это означает, что у меня не установлен flyway в качестве системного окружения, но если я запускаю команду flyway clean непосредственно в моей командной оболочке cmd программа работает нормально.

0

Решение

Код ошибки 127 означает, что исполняемый файл не был найден в данном контексте. Ваша оболочка отличается от оболочки, выполненной из веб-контекста, возможно потому, что ваша PATH переменная окружения разные.

Вы пытались запустить приложение с абсолютный путь вместо? Узнайте, где исполняемый файл является первым:

which flyway

затем:

exec('/absolute/path/flyway clean', $output, $result);
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]