流明微框架 => php 工匠键:生成

2022-08-30 08:02:16

我正在尝试PHP micro Framework Lumen(来自Laravel)。

我的第一步是查看该文件并制作它的副本以拥有我的文件。有一个可变APP_KEY就像在Laravel中一样。现在我尝试了简单的命令来获取我的新密钥,但我遇到了以下错误消息:.env.example.envphp artisan key:generate

[无效论据例外]“key”命名空间中没有定义任何命令。

有人知道如何为Lumen生成密钥吗?

使用解决方案进行更新

所以我找到了我最喜欢的解决这个问题的方法。在命令行(Linux)上,我运行给我的东西,如下所示。php -r "echo md5(uniqid()).\"\n\";"7142720170cef01171fd4af26ef17c93

如果要更频繁地使用Lumen,则可能需要在 中创建别名,该别名位于 主目录 。为此,您可以使用 或 打开文件,并在文件末尾复制以下别名 。现在,您可以使用该命令,该命令将为您提供32个字符长的随机字符串:).bashrc/home/USERNAMEnano ~/.bashrcvi ~/.bashrcalias phpkey='php -r "echo md5(uniqid()).\"\n\";"'phpkey


答案 1

Laravel 命令相当简单。它只是生成一个随机的 32 个字符长的字符串。您可以在Lumen中执行相同的操作。只需临时添加如下路由:

$router->get('/key', function() {
    return \Illuminate\Support\Str::random(32);
});

然后转到 浏览器中的 将密钥复制粘贴到文件中。
然后删除路由。/key.env

显然,您也可以在线使用一些随机字符串生成器。像这个


答案 2

首先,您必须注册密钥生成器命令,将此流明密钥生成器命令放入。要使此命令在 中可用,请更改:app/Console/Commands/KeyGenerateCommand.phpartisanapp\Console\Kernel.php

/**
 * The Artisan commands provided by your application.
 *
 * @var array
 */
protected $commands = [
    'App\Console\Commands\KeyGenerateCommand',
];

之后,配置您的应用程序,以便该实例具有价值。为此,请更改:Illuminate\Config\Repositoryapp.keybootstrap/app.php

<?php

require_once __DIR__.'/../vendor/autoload.php';

Dotenv::load(__DIR__.'/../');

/*
|--------------------------------------------------------------------------
| Create The Application
|--------------------------------------------------------------------------
|
| Here we will load the environment and create the application instance
| that serves as the central piece of this framework. We'll use this
| application as an "IoC" container and router for this framework.
|
*/

$app = new Laravel\Lumen\Application(
    realpath(__DIR__.'/../')
);

$app->configure('app');

之后,将您的文件复制到 :.env.example.env

cp .env.example .env

如果已使用文件,请忽略此步骤。.env

通过以下方式享受您的命令:key:generate

php artisan key:generate

编辑

您可以使用流明发生器。它涵盖了您在Laravel中缺少的很多命令。


推荐