Можно ли выполнить командную строку с контроллера Laravel? - PullRequest
0 голосов
/ 27 августа 2018

Возможно ли выполнить командную строку с контроллера Laravel?Если ДА, то как я могу выполнить команду и каков наилучший способ сделать это?Если НЕТ, есть ли другой способ, как я могу это сделать?

Ответы [ 3 ]

0 голосов
/ 27 августа 2018

Я не знаю, получу ли я это.Не можете ли вы использовать систему PHP ()?Если я ошибаюсь, пожалуйста, объясните четко

http://php.net/manual/en/function.system.php

0 голосов
/ 27 августа 2018

Если вам нужно только запустить команды кустарного производства (например, перенести базу данных), вы можете легко сделать это с вашего контроллера:

Route::get('/foo', function () {
    $exitCode = Artisan::call('email:send', [
        'user' => 1, '--queue' => 'default'
    ]);

    //
});

Источник: Laravel Docs

Есть несколько доступных пакетовкоторый дает вам интерфейс для вызова команд Artisan, просто поищите «laravel artisan web».


Если вам нужно выполнить другие команды, вы должны дать нам больше информации о том, что вы пытаетесь сделать.

0 голосов
/ 27 августа 2018

Не уверен на 100%, что вы имеете в виду под «командной строкой», но вы можете выполнять команды непосредственно из php с помощью функции exec.Хотя это часто не рекомендуемый подход, и я подозреваю, что если вам нужно запустить exec, то в приложении возникает проблема проектирования.

Я бы порекомендовал рассмотреть другие подходы кпроблема и использовать exec только в очень (очень очень очень) особых условиях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...