命令"serve"未定义(Lumen-Laravel)

13

所以,我试图安装Lumen Restful Api。根据教程,我必须在php artisan上“serve”。命令如下:

php artisan serve sample_api sample_api/public

然后它显示:

命令“serve”未定义。

有人说,在laravel 5中删除了serve命令(我使用的版本)。如果是这样,我应该使用什么命令?还是找另一个教程?

附言:我是个新手 :)

非常感谢!

3个回答

48
您可以使用

标签


php -S localhost:8080 -t public/

1
在Windows中,您还可以使用答案中的命令创建一个名为serve.bat的批处理文件,然后可以从Windows cmd运行它。 :) - Ciberman

3

此命令已从Lumen 5.2中移除。您可以使用任何其他Web服务器来运行应用程序。我建议学习具有内置环境的Homestead。如果您是新手,可以使用类似WAMP的东西。


我简直不敢相信文档已经过时了,而且没有示例说明如何在普通Apache上运行它(必须使用虚拟主机)。该死的。 - Andrey Popov

0

虽然 Lumen 中没有 artisan make:command 命令,但您可以按照以下步骤重新实现 artisan serve 命令,或者将其用作创建其他控制台命令的模板。

自 Laravel Lumen 5.2 起,serve 命令已被删除,但您可以手动重新实现它,具体如下:

从 Lumnen 5.0 获取 ServeCommand.php 文件,将其保存到文件夹 app/Console/Commands 中,并执行以下两个调整:

  1. 将命名空间从 Laravel\Lumen\Console\Commands 更改为 App\Console\Commands
  2. 将函数名称 fire 重命名为 __invoke

编辑文件 app/Console/Kernel.php,通过在 $commands 成员中列出该命令来告诉 artisan 存在此新命令,如下所示:

    /**
     * The Artisan commands provided by your application.
     *
     * @var array
     */
    protected $commands = [
        Commands\ServeCommand::class,
    ];

完成上述步骤后,您应该可以运行artisan serve命令。注意,它将从您的项目根目录中服务于一个名为server.php的文件。您需要创建这个文件,或者更改代码以提供其他内容。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接