我正在尝试PHP微框架流明(来自Laravel).
我的第一步是查看.env.example
文件并复制它以获取我的.env
文件.有一个变量APP_KEY就像在Laravel中一样.现在我尝试了简单的命令php artisan key:generate
来获取我的新密钥但是我遇到了以下错误消息
php -r "echo md5(uniqid()).\"\n\";"
有人知道我如何为流明生成密钥吗?
用解决方案更新
所以我找到了我最喜欢的解决方案.在命令行(Linux)上我运行的7142720170cef01171fd4af26ef17c93
东西给了我这样的东西.bashrc
.
如果您要更频繁地使用流明,您可能需要/home/USERNAME
在您的主目录中创建一个别名nano ~/.bashrc
.为此,您可以使用vi ~/.bashrc
或打开文件,alias phpkey='php -r "echo md5(uniqid()).\"\n\";"'
并在文件末尾复制以下别名phpkey
.现在你可以使用命令.env.example
,它会给你一个32个字符长的随机字符串:)
luk*_*ter 95
Laravel命令相当简单.它只生成一个随机的32个字符长的字符串.你也可以在流明做同样的事.只需暂时添加这样的路线:
$router->get('/key', function() {
return \Illuminate\Support\Str::random(32);
});
Run Code Online (Sandbox Code Playgroud)
然后转到/key
浏览器并将密钥复制粘贴到您的.env
文件中.
然后删除路线.
显然你也可以在线使用一些随机字符串生成器.像这个
kri*_*lfa 35
首先,你必须注册你的密钥生成器的命令,把这个流明密钥发生器命令到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',
];
Run Code Online (Sandbox Code Playgroud)
之后,配置应用程序以使该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');
Run Code Online (Sandbox Code Playgroud)
之后,将您的.env.example
文件复制到.env
:
cp .env.example .env
Run Code Online (Sandbox Code Playgroud)
如果您已使用
.env
文件,请忽略此步骤.
享受你的key:generate
命令:
php artisan key:generate
Run Code Online (Sandbox Code Playgroud)
你可以使用流明生成器.它涵盖了Laravel中缺少的大量命令.
Jer*_*ten 27
一个简单的解决方案就是从终端运行PHP代码(不使用tinker
,因为Lumen不提供):
php -r "require 'vendor/autoload.php'; echo str_random(32).PHP_EOL;"
Run Code Online (Sandbox Code Playgroud)
它使用Laravel的Str::random()
功能,利用安全random_bytes()
功能.
Fáb*_*ima 13
对我来说,生成流明键的最简单方法是在控制台上输入以下命令之一:
date | md5
date | md5sum
Run Code Online (Sandbox Code Playgroud)
要么
openssl rand -base64 24
取决于您的环境.在我的情况下,我date | md5
在mac上使用
APP_KEY生成是开发过程的一个步骤(我不认为创建临时路由是一种实用的方法).该函数str_random
可以帮助我们,但是这个函数是Laravel/Lunmen框架的一部分.我建议跑修补
php artisan tinker
然后运行该功能
>>> str_random(32)
结果是你正在寻找的关键.
=> "y3DLxnEczGWGN4CKUdk1S5GbMumU2dfH"
小智 6
只需使用PHP CLI。从本地或远程命令行运行此命令,以生成一个随机的32个字符的流明APP_KEY:
php -r "echo bin2hex(random_bytes(16));"
Run Code Online (Sandbox Code Playgroud)
输出:bae48aba23b3e4395b7f1b484dd25192
在Mac和Windows上可与PHP 7.x一起使用。
小智 5
要生成密钥并使用laravel命令,您需要安装一个软件包。详细信息如下:
composer require flipbox/lumen-generator
$app->register(Flipbox\LumenGenerator\LumenGeneratorServiceProvider::class);
到bootstrap/app.php
文件中。链接:https://github.com/flipboxstudio/lumen-generator