【问题标题】:Is it possible to execute command prompt from Laravel controller?是否可以从 Laravel 控制器执行命令提示符?
【发布时间】:2018-08-27 06:24:06
【问题描述】:

是否可以从 Laravel 控制器执行命令提示符?如果是,那么我该如何执行命令,最好的方法是什么?如果没有,有没有其他方法可以做到这一点?

【问题讨论】:

标签: laravel laravel-5 command-prompt


【解决方案1】:

我不知道我是否得到它。 你不能用 PHP系统()? 如果我错了,请解释清楚

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

【讨论】:

  • 其实那是我的错,你并没有真正发布后续问题,删除了我的评论(明天会删除,所以这里很干净,呵呵)。
【解决方案2】:

如果您只需要运行工匠命令(例如迁移数据库),您可以从控制器轻松完成:

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

    //
});

来源:Laravel 文档

有一些可用的包为您提供调用 Artisan 命令的 UI,只需搜索“laravel artisan web”。


如果您需要执行其他命令,您应该向我们提供有关您正在尝试执行的操作的更多信息。

【讨论】:

    【解决方案3】:

    不是 100% 确定“命令提示符”是什么意思,但您可以使用 exec 函数直接从 php 执行命令。虽然这通常不是推荐的方法,但我怀疑如果您需要运行 exec,应用程序中可能存在设计问题。

    我建议您考虑其他解决问题的方法,并且仅在非常特殊情况下使用exec

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-05
      • 2023-03-13
      相关资源
      最近更新 更多