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

Why has the artisan serve command been removed from Lumen 5.2?

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

我不代表 Taylor,但我猜他的推理是给定的微框架不应该知道 - 或关心 - 运行 它所在的服务器。微框架应该只是假设它会起作用,然后让开发人员找出最适合实现它的工具。

Laravel 不同,因为它提供了更多 "complete" - 并且非常自以为是 - 的工具集来让您的 Web 应用程序起步。在 full-stack 框架中,至少提供一个简单的 PHP 服务器脚本并不少见。

因此,考虑到这一点,bootstrap Laravel 自己的服务器实现和 artisan 命令到您的 Lumen 应用中应该不会太难。

如果你真的想使用php artisan serve命令而不是像Vagrant, you can probably just copy Laravel's server.php into the root of your Lumen application, and then register Laravel's own Serve Command这样更可配置的命令到Lumen。

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

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

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

虽然 PHP 的内置 Web 服务器仅在 5.4 版本中添加,但 Lumen 需要 PHP 5.5.9 或更高版本,因此此解决方案应该有效。

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

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

 php -S localhost:8000 -t ./public

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

我尝试过很多简单的解决方案。 您可以通过以下命令简单地使用 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 命令