我正在尝试PHP微框架Lumen (来自Laravel)。
我的第一步是查看.env.example文件,并将其复制成.env文件。有一个变量APP_KEY,就像在Laravel中一样。现在,我尝试了简单的命令php artisan key:generate来获取我的新键,但是我遇到了以下错误消息:
InvalidArgumentException在"key“命名空间中没有定义任何命令。
有人知道我如何为Lumen生成密钥吗?
用解决方案更新
所以我找到了我最喜欢的解决这个问题的方法。在命令行(Linux)上,我运行php -r "echo md5(uniqid()).\"\n\";",这给了我类似于7142720170cef01171fd4af26ef17c93的东西。
如果要更频繁地使用Lumen,则可能需要在.bashrc中创建别名,该别名位于主目录/home/USERNAME中。为此,您可以使用nano ~/.bashrc或vi ~/.bashrc打开文件,并在文件末尾复制以下别名alias phpkey='php -r "echo md5(uniqid()).\"\n\";"'。现在您可以使用命令phpkey,它将为您提供一个32个字符长的随机字符串:)
发布于 2015-05-20 08:51:14
Laravel命令相当简单。它只生成一个随机的32个字符长字符串。你可以在Lumen做同样的事。只需临时添加一条这样的路线:
$router->get('/key', function() {
return \Illuminate\Support\Str::random(32);
});然后转到浏览器中的/key,并将密钥复制到.env文件中。
然后移走路线。
显然,您也可以使用一些随机字符串生成器在线。就像这个
发布于 2015-05-20 14:34:55
首先,您必须注册您的密钥生成器命令,将此鲁门密钥生成器命令放到app/Console/Commands/KeyGenerateCommand.php中。若要使此命令在artisan中可用,请更改app\Console\Kernel.php
/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected $commands = [
'App\Console\Commands\KeyGenerateCommand',
];然后,配置应用程序,使Illuminate\Config\Repository实例具有app.key值。为此,请更改bootstrap/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中丢失的大量命令。
发布于 2019-05-02 19:09:51
只需使用PHP即可。从本地或远程命令行运行此命令行,生成一个随机的32个字符的Lumen APP_KEY:
php -r "echo bin2hex(random_bytes(16));"输出: bae48aba23b3e4395b7f1b484dd25192
在Mac和Windows上使用PHP7.x。
https://stackoverflow.com/questions/30344141
复制相似问题