[Laravel] 解決-初次安裝出現 No application encryption key has been specified.


描述

首次安裝 laravel ,出現
Whoops, looks like something went wrong
 

排除方式


先確認哪個環節出錯。
可以先開啟 debug 模式。
laravel/config/app.php
[root@~] #  sudo vi config/app.php

<?php
....

#'debug' => env('APP_DEBUG', false),
'debug' => env('APP_DEBUG', true),
將其debug選項設置為true,再次運行頁面。

原來是因為:
RuntimeException
No application encryption key has been specified.

laravel_No application encryption key has been specified.
vendor/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php
protected function key(array $config)
{
return tap($config['key'], function ($key) {
if (empty($key)) {
  throw new RuntimeException(
  'No application encryption key has been specified.'
  );   
在這邊出錯了
}
});
}

解決方式:

安裝應用程式金鑰

在你安裝完 Laravel 後,首先需要做的事情是設定一個隨機字串到應用程式金鑰。假設你是透過 Composer 或是 Laravel 安裝工具安裝 Laravel,那麼這個金鑰已經透過 php artisan key:generate指令幫你設定完成。通常這個金鑰應該有 32 字元長。這個金鑰可以被設定在 .env 環境檔案中。

Generating a New Application Key

[root@~#  php artisan key:generate
成功後將回傳:
Application key [Idgz1PE3zO9iNc0E3oTRGDPXDVZe3] set successfully.


在這之前,請記得在主目錄底下,放置 .env 檔案。
https://raw.githubusercontent.com/laravel/laravel/master/.env.example

APP_NAME=Laravel
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
SESSION_LIFETIME=120
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=


就可以在瀏覽器看到 Laravel 安裝成功畫面
Laravel 安裝成功畫面





 

回上一頁

相關文章:

喜歡這篇文章嗎?立即分享

Posted : / Views: 628
Last updated :2017-10-25