Laravel 5.3-是否可以通过单击链接/按钮来运行php artisan命令

lew*_*s4u 2 php laravel-5.3

因此,正如问题所言...当用户单击Web浏览器中的链接时,是否可以在后台运行php artisan命令?

例如,我想在我的应用程序中创建一个用于迁移迁移文件的按钮,以便在单击此按钮时:

<a href="/migrate" class="btn btn-primary">Migrate</a>
Run Code Online (Sandbox Code Playgroud)

我想跑步

php artisan migrate
Run Code Online (Sandbox Code Playgroud)

在背景中。

这可能吗?

Ris*_*ana 7

你当然可以!只需在routes\web.php文件中创建一条新路线即可。然后,您可以简单地调用Artisan::call()方法。

例如,当您访问make-migration路线时,您要为“发票”表创建迁移文件。您可以这样做:

Route::get('make-migration', function () {
    Artisan::call('make:migration', [
        'name' => 'create_invoices_table',
        '--create' => 'invoices',
    ]);

    return 'Create invoices migration table.';
});
Run Code Online (Sandbox Code Playgroud)

或者,如果您要运行迁移,请执行以下操作:

Route::get('migrate', function () {
    Artisan::call('migrate');

    return 'Database migration success.';
});
Run Code Online (Sandbox Code Playgroud)

在此处阅读有关以编程方式运行Artisan命令的更多信息。

希望有帮助!