I’m trying out the PHP micro Framework Lumen (from Laravel).
One of my first steps was to look into the .env.example
file and make a copy of it to have my .env
file. There is a variable APP_KEY just like there is in Laravel. Now I tried out the simple command php artisan key:generate
to get my new key But I ran into the following error message
[InvalidArgumentException]There are no commands defined in the 'key' namespace.
Does some one know how I can generate keys for Lumen?
Update with solution
So I found my favorite solution for this problem. On the command line (Linux) I run php -r 'echo md5(uniqid()).'n';'
what gives me something like this 7142720170cef01171fd4af26ef17c93
.
Key:generate doesn't set the key. I'm trying to use php artisan key:generate, to set up my key, but it doesn't get set anywhere despite the success message that I get in the console. Not a big deal in itself as I just copy the key shown and paste it in my.env file, but. To fix this you’ll need to run the key:generate command. Ubuntu@ubuntu-xenial:/var/www$ php artisan key:generate Application key set successfully. Now if you check your “.env” file the APPKEY will have a value and you won’t receive the “No application encryption key has been specified.” exception. Why It Exists. Nov 27, 2019 So for this issue what I did was use the command php artisan key:generate -show This will show u the key instead of adding it to the env file. Copy and paste the key from there and it worked.
May 19, 2017 Hi Guys, In this quick video I show you how to set up Windows to run PHP PHfrom the command prompt (DOS - cmd). The key is to add the variable path from PHP installation to your system's. Once you've Downloaded Snipe-IT, set up your Configuration in your.env file, and Installed Dependencies, you'll need to set an app key. The easiest way to do this is via the artisans command:This should automatically set the APPKEY value in your.env file for you. After that, you're ready for the.
If you are going to use Lumen more often, you may want to create an alias in your .bashrc
, which is located in your home directory /home/USERNAME
. To do so, you can open the file with nano ~/.bashrc
or vi ~/.bashrc
and copy the following alias at the end of the file, alias phpkey='php -r 'echo md5(uniqid()).'n';'
. Now you can use the command phpkey
which will give you a 32 character long random string 🙂
The Laravel command is fairly simple. It just generates a random 32 character long string. You can do the same in Lumen. Just temporarily add a route like this:
Then go to /key
in your browser and copy paste the key into your .env
file.
Afterwards remove the route.
Obviously you could also use some random string generator online. Like this one
Firstly, you have to register your key generator command, put this Lumen Key Generator Commands to app/Console/Commands/KeyGenerateCommand.php
. To make this command available in artisan
, change appConsoleKernel.php
:
After that, configure your application so that IlluminateConfigRepository
instance has app.key
value. To do this, change bootstrap/app.php
:
After that, copy your .env.example
file to .env
:
Ignore this step if you already use .env
file.
Enjoy you key:generate
command via:
You may use Lumen Generator. It covers so much commands you are missing from Laravel.
An easy solution is just running PHP code from the terminal (without using tinker
, because that is not available with Lumen):
It uses Laravel’s Str::random()
function that makes use of the secure random_bytes()
function.
Generate ssh key windows github update. You may prefer installing the git context menu, but I like to keep things simple so I just unchecked it. Download. Imagine having a tool that can automatically detect if you are using JPA and Hibernate properly.is that tool!Installing Git for Windows. Run the downloaded installer and pay attention to the following settings.
The APP_KEY generation is a step of development process (I don’t think that creating temporarily routes is a practical way to do it). The function str_random
can help us, but this function is part of Laravel/Lunmen framework.
I recommend running tinker
php artisan tinker
and then run the function
>>> str_random(32)
The result is the key you’re looking for.
=> 'y3DLxnEczGWGN4CKUdk1S5GbMumU2dfH'
For me the easiest way to generate a Lumen key is typing on console one of these commands:
or
openssl rand -base64 24
depending of your environment. In my case, I aways use date md5
on mac
This answer was inspired by @thomas-venturini ‘s update to the question. Here’s a bash script that takes care of creating .env
and updating it with an APP_KEY
using the aforementioned PHP command and the UNIX sed
command:
Hope someone finds this useful.
Tags: phpphp
I’m trying out the PHP micro Framework Lumen (from Laravel).
One of my first steps was to look into the .env.example
file and make a copy of it to have my .env
file. There is a variable APP_KEY just like there is in Laravel. Now I tried out the simple command php artisan key:generate
to get my new key But I ran into the following error message:
[InvalidArgumentException] There are no commands defined in the “key”
namespace.
Does some one know how I can generate keys for Lumen?
Update with solution
So I found my favorite solution for this problem. On the command line (Linux) I run php -r 'echo md5(uniqid()).'n';'
what gives me something like this 7142720170cef01171fd4af26ef17c93
.
If you are going to use Lumen more often, you may want to create an alias in your .bashrc
, which is located in your home directory /home/USERNAME
. To do so, you can open the file with nano ~/.bashrc
or vi ~/.bashrc
and copy the following alias at the end of the file, alias phpkey='php -r 'echo md5(uniqid()).'n';'
. Now you can use the command phpkey
which will give you a 32 character long random string 🙂
The Laravel command is fairly simple. It just generates a random 32 character long string. You can do the same in Lumen. Just temporarily add a route like this:
Then go to /key
in your browser and copy paste the key into your .env
file.
Afterwards remove the route.
Obviously you could also use some random string generator online. Like this one
Firstly, you have to register your key generator command, put this Lumen Key Generator Commands to app/Console/Commands/KeyGenerateCommand.php
. To make this command available in artisan
, change appConsoleKernel.php
:
After that, configure your application so that IlluminateConfigRepository
instance has app.key
value. To do this, change bootstrap/app.php
:
After that, copy your .env.example
file to .env
:
Ignore this step if you already use .env
file.
Enjoy you key:generate
command via:
You may use Lumen Generator. It covers so much commands you are missing from Laravel.
An easy solution is just running PHP code from the terminal (without using tinker
, because that is not available with Lumen):
It uses Laravel’s Str::random()
function that makes use of the secure random_bytes()
function.
For me the easiest way to generate a Lumen key is typing on console one of these commands:
or
openssl rand -base64 24
depending of your environment. In my case, I aways use date md5
on mac
The APP_KEY generation is a step of development process (I don’t think that creating temporarily routes is a practical way to do it). The function str_random
can help us, but this function is part of Laravel/Lunmen framework.
I recommend running tinker
php artisan tinker
and then run the function
>>> str_random(32)
The result is the key you’re looking for.
=> 'y3DLxnEczGWGN4CKUdk1S5GbMumU2dfH'
Simply use PHP CLI. Run this from your local or a remote command line to generate a random 32-character Lumen APP_KEY:
Output: bae48aba23b3e4395b7f1b484dd25192
Works with PHP 7.x on Mac and Windows.
To generate key and use laravel command you need to install one package. The details are as below:
composer require flipbox/lumen-generator
$app->register(FlipboxLumenGeneratorLumenGeneratorServiceProvider::class);
into bootstrap/app.php
file.Link: https://github.com/flipboxstudio/lumen-generator
I have used these commands:
The command generates a key similar to this:
$2y$10$jb3kw/vUANyzZ4ncMa4rwuR09qldQ2OjX8PGrVB5dIlSnUAPCGjFe
All I do on mac is execute this command in the terminal:
This copies the value into the clipboard and so you can easily paste the key into the .env
file.
Run php -a
to start up interactive php playground.
Then run echo substr(md5(rand()), 0, 32);
to generate a 32 character string.
You can then copy/paste into the .env
file.
This answer was inspired by @thomas-venturini ‘s update to the question. Here’s a bash script that takes care of creating .env
and updating it with an APP_KEY
using the aforementioned PHP command and the UNIX sed
command:
Hope someone finds this useful.
1.Open your terminal setup file:
2.Create an alias for generating random strings:
3.Get a key whenever you need:
You can also remove the third step by adding the key directly in .env
using PHP.
Tags: phpphp