The key:generate
command is used to generate a random key. This command will update the key stored in the application's environment file. The command also supports an optional --show
flag. Specifying this flag will simply show the generated key instead of updating any configuration or environment files.
The following example demonstrates how to update/change the application's key:
Regenerating the Application Key
Aug 24, 2017 Running php artisan key:generate in a Laravel project where the.env file does not contain an APPKEY= line results in the following output: Application key base64:KEYHERE= set successfully. However, the key is not written to the.env file, so the status message is incorrect.
It is important to note that if the encryption key needs to be regenerated after an application has been in use, any data that was previously encrypted using the old key cannot be decrypted using the new encryption key. While regenerating the encryption key is not recommended, there are some scenarios where it is beneficial, if not absolutely critical to do so.
When these scenarios arise, the problems can be overcome by decrypting the old data and reapplying the encryption using the new encryption key.
The following example will simply display the generated key instead of displaying it:
The output will be similar to the following, but the key will most likely be different:
The Laravel framework has a few system requirements. All of these requirements are satisfied by the Laravel Homestead virtual machine, so it's highly recommended that you use Homestead as your local Laravel development environment.
However, if you are not using Homestead, you will need to make sure your server meets the following requirements:
Laravel utilizes Composer to manage its dependencies. So, before using Laravel, make sure you have Composer installed on your machine.
First, download the Laravel installer using Composer:
Make sure to place Composer's system-wide vendor bin directory in your $PATH
so the laravel executable can be located by your system. This directory exists in different locations based on your operating system; however, some common locations include:
$HOME/.composer/vendor/bin
%USERPROFILE%AppDataRoamingComposervendorbin
$HOME/.config/composer/vendor/bin
or $HOME/.composer/vendor/bin
You could also find the composer's global installation path by running composer global about
and looking up from the first line.
Once installed, the laravel new
command will create a fresh Laravel installation in the directory you specify. For instance, laravel new blog
will create a directory named blog
containing a fresh Laravel installation with all of Laravel's dependencies already installed:
Alternatively, you may also install Laravel by issuing the Composer create-project
command in your terminal:
If you have PHP installed locally and you would like to use PHP's built-in development server to serve your application, you may use the serve
Artisan command. This command will start a development server at http://localhost:8000
:
More robust local development options are available via Homestead and Valet.
After installing Laravel, you should configure your web server's document / web root to be the public
directory. The index.php
in this directory serves as the front controller for all HTTP requests entering your application.
All of the configuration files for the Laravel framework are stored in the config
directory. Each option is documented, so feel free to look through the files and get familiar with the options available to you.
After installing Laravel, you may need to configure some permissions. Directories within the storage
and the bootstrap/cache
directories should be writable by your web server or Laravel will not run. If you are using the Homestead virtual machine, these permissions should already be set.
The next thing you should do after installing Laravel is set your application key to a random string. If you installed Laravel via Composer or the Laravel installer, this key has already been set for you by the php artisan key:generate
command.
Typically, this string should be 32 characters long. The key can be set in the .env
environment file. If you have not copied the .env.example
file to a new file named .env
, you should do that now. If the application key is not set, your user sessions and other encrypted data will not be secure!
Laravel needs almost no other configuration out of the box. You are free to get started developing! However, you may wish to review the config/app.php
file and its documentation. It contains several options such as timezone
and locale
that you may wish to change according to your application.
You may also want to configure a few additional components of Laravel, such as:
Laravel should always be served out of the root of the 'web directory' configured for your web server. You should not attempt to serve a Laravel application out of a subdirectory of the 'web directory'. Attempting to do so could expose sensitive files present within your application.
Laravel includes a public/.htaccess
file that is used to provide URLs without the index.php
front controller in the path. Before serving Laravel with Apache, be sure to enable the mod_rewrite
module so the .htaccess
file will be honored by the server.
If the .htaccess
file that ships with Laravel does not work with your Apache installation, try this alternative:
If you are using Nginx, the following directive in your site configuration will direct all requests to the index.php
front controller:
After completing the above quests, you will need to finish the Urgent quest 'The Dark Age' to advance into. Monster hunter generations 3 star key quests.
When using Homestead or Valet, pretty URLs will be automatically configured.