Невозможно запустить команды flyway в php - PullRequest
0 голосов
/ 30 апреля 2018

Я пытаюсь запустить несколько команд 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, она работает просто отлично.

1 Ответ

0 голосов
/ 30 апреля 2018

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

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

which flyway

, то:

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