为啥从 Lumen 5.2 中删除了 artisan serve 命令?

Posted

技术标签:

【中文标题】为啥从 Lumen 5.2 中删除了 artisan serve 命令?【英文标题】:Why has the artisan serve command been removed from Lumen 5.2?为什么从 Lumen 5.2 中删除了 artisan serve 命令? 【发布时间】:2016-04-14 01:42:47 【问题描述】:

请。有人知道为什么 Lumen 的团队删除了命令php artisan serve 吗?该命令非常有用!。

【问题讨论】:

related 正如 Feeda 和 JamesG 所说,如果您只是想要一种简单的方式来为您的应用程序提供服务,请使用内置的 php Web 服务器。我在 Lumen 5.3 中实现了它:gist.github.com/dotnetCarpenter/… 【参考方案1】:

我不代表 Taylor,但我的猜测是他的推理是给定的微框架不应该知道 - 或关心 - 运行它的服务器。微框架应该假设它会工作,并让开发人员找出最适合实现这一目标的工具。

Laravel 的不同之处在于它提供了一套更“完整”且高度自以为是的工具来让您的 Web 应用程序起步。在全栈框架中,至少提供一个简单的 PHP 服务器脚本并不少见。

因此,考虑到这一点,将 Laravel 自己的服务器实现和工匠命令引导到您的 Lumen 应用程序中应该不会太难。

如果你真的想要使用php artisan serve 命令而不是像Vagrant 这样更易于配置的命令,你可以将Laravel 的server.php 复制到你的Lumen 应用程序的根目录中,然后将Laravel's own Serve Command注册到Lumen。

您可能需要更改第 42 行的基本路径,但除此之外,它应该很容易移植。

【讨论】:

感谢您的回答!我明白你想说什么,但我认为命令 php artisan serve 对开发人员非常有帮助,而且团队在发行说明中没有看到关于删除该命令的一件事。 除了为您提供自己将其放回原位所需的方向外,我对此无能为力。如果您查看我发送给您的链接,serve 命令实际上只是 PHP 内置服务器的一个非常简单的包装器,因此您可以自行将其放回原处。您也可以免费联系open a pull request 或check the forums。如果这回答了您的问题,请将此标记为已回答。【参考方案2】:

你可以找到一个非常轻量级的 Composer 包来添加 artisan serve 到你的 Lumen 应用 https://github.com/mlntn/lumen-artisan-serve

【讨论】:

【参考方案3】:

或者,您可以尝试切换到 Lumen 应用程序的 public 文件夹并运行 php -S localhost:8080。这绝对适用于 OS X - 不确定其他平台。您也可以在端口 80 上监听,但您需要以管理员权限调用该命令。

虽然 PHP 的内置 web 服务器只在 5.4 版本中添加,但 Lumen 需要 PHP 5.5.9 或更高版本,所以这个解决方案应该可以工作。

【讨论】:

【参考方案4】:

当您将 PHP 安装到您的计算机上时,为什么不使用 PHP 的内置 Web 服务器?

只需进入 Lumen 应用的根目录并键入以下内容,您的项目就会在本地提供服务。

 php -S localhost:8000 -t ./public

注意:此 PHP 内置 Web 服务器仅供开发环境使用。

【讨论】:

这是个好主意!我已经在 Lumen 5.3 中实现了它。见这里:gist.github.com/dotnetCarpenter/…【参考方案5】:

我尝试过很多简单的解决方案。 您可以通过以下命令简单地使用 php composer package flipbox/lumen-generator。

composer require flipbox/lumen-generator

然后在你的 app/bootstrap.php 文件中注册这个包

$app->register(Flipbox\LumenGenerator\LumenGeneratorServiceProvider::class);

就是这样!您可以使用 php artisan 命令来制作资源(控制器、模型)和**

你也可以使用 php artisan serve 命令

【讨论】:

以上是关于为啥从 Lumen 5.2 中删除了 artisan serve 命令?的主要内容,如果未能解决你的问题,请参考以下文章

Laravel/lumen 5.2 从现有数据库生成迁移表

从 Lumen 5.2 控制器端点提供 Angular 5 SPA 时的路由问题

如何在 LUMEN 5.2 中激活会话

使用 Laravel/Lumen 5.2 和 apache 2.4

通过 Composer 下载 Lumen 时出错

Laravel Lumen 5.2 Cors 中间件不工作