Belum Ada Kunci Enkripsi Aplikasi Yang Ditentukan

255

Saya baru mengenal Laravel dan saya mencoba menggunakan perintah Artisan ...

php artisan serve

Ini menampilkan ...

Server pengembangan Laravel dimulai: http://127.0.0.1:8000

Namun, itu tidak akan secara otomatis diluncurkan dan ketika saya secara manual memasukkan http://127.0.0.1:8000 itu menunjukkan kesalahan ini:

RuntimeException Tidak ada kunci enkripsi aplikasi yang ditentukan.

Ada ide? Saya menggunakan framework Laravel 5.5-dev.

Carlos F
sumber
atau jika file .env Anda perlu diubah ref: stackoverflow.com/questions/36276767/…
Nameishi
2
Jawaban di bawah ini benar: namun, jika Anda pertama kali menjalankan "php artisan serve" dan memiliki sesi server web yang aktif, Anda harus memulai ulang server (control-c di terminal untuk berhenti) untuk mendapatkan perubahan agar berlaku setelah Anda tambahkan kunci ke file .env Anda.
Chris Adams

Jawaban:

437

Dari Enkripsi - Laravel - Kerangka PHP Untuk Pengrajin Web :

"Sebelum menggunakan enkripsi Laravel, Anda harus mengatur opsi kunci di file konfigurasi config / app.php Anda. Anda harus menggunakan php artisan key:generateperintah untuk membuat kunci ini"

Saya menemukan bahwa menggunakan kueri internet yang rumit ini di google.com:

"laravel add kunci enkripsi" (Ya, itu berfungsi bahkan dengan kesalahan ketik!)

Amarnasan
sumber
22
Saya mencari seluruh kesalahan di Google dan tidak ada yang muncul, hanya Google telah menetapkan kunci encriptyon dan menemukan. Merasa seperti orang bodoh. Terima kasih. Bagi siapa pun yang datang ke sini, jalankan saja:php artisan key:generate
Carlos F
Maaf, jadi Anda meletakkan kunci artisan php: menghasilkan di terminal? karena saya mendapatkan ErrorException
Nameishi
1
Bagi siapa pun yang mengalami masalah saya, masukan ini ke terminal cp .env.example .env kunci artisan php: generate
Nameishi
5
php artisan key:generatebahkan tidak bekerja untuk saya. Memberi saya kesalahan yang sama Tidak ada kunci enkripsi aplikasi yang ditentukan , tolong ada solusi?
Oniya Daniel
7
Ini bekerja untuk saya, tetapi saya pertama-tama harus mengganti nama file .env.example menjadi .env agar ini berfungsi, jika tidak saya mendapatkan kesalahan ".env: no file tersebut".
Webomatik
129

Dalam kasus saya, saya juga perlu mengatur ulang file konfigurasi cache:

php artisan key:generate
php artisan config:cache
Leonid Dashko
sumber
5
Saya selalu datang untuk melihat jawaban ini setelah saya lupa menghapus cache
vijayrana
3
Ini hilang dari semua jawaban. Terima kasih banyak! :)
Aman Alam
1
Untuk apa php artisan config:cache? Mengapa ini bermanfaat?
Pathros
2
@Pathros untuk membuat / membuat ulang file konfigurasi yang di-cache
Leonid Dashko
1
Selain itu, pertama-tama, pastikan bahwa " .env" file Anda setidaknya berisi opsi kunci kosong, seperti:APP_KEY=
Top-Master
54

Buka command prompt di folder root proyek Anda dan jalankan perintah di bawah ini:

php artisan key:generate

Ini akan menghasilkan Kunci Aplikasi untuk aplikasi Anda.

Anda dapat menemukan kunci aplikasi yang dihasilkan (APP_KEY) dalam .envfile.

skm
sumber
23

Cukup jalankan perintah ini:

php artisan key:generate
DJ
sumber
1
Ya tetapi banyak server hosting yang tidak memiliki akses baris perintah lalu gimana caranya?
Dhiraj
2
mayoritas mendukung koneksi ssh. dari terminal Anda jalankan ssh yourusername @ server_ip
DJ
21
  1. Salin .env.exampleke .env:

    cp -a .env.example .env

  2. Hasilkan kunci:

    php artisan key:generate

  3. Kemudian jalankan:

    php artisan serve

Adam Pery
sumber
Aduh. Ini adalah langkah kritis! Proyek Laravel yang baru membutuhkan file .env atau tidak ada yang berhasil. Terima kasih, Adam.
Eric L.
16

cp .env.example .envjika tidak ada file .env. php artisan key:generateperintah bekerja untukku. Ini menghasilkan kunci enkripsi

Sabyasachi Ghosh
sumber
4
bersihkan cache menggunakan php artisan config:cacheperintah setelah langkah-langkah di atas.
Sabyasachi Ghosh
Pembersihan cache sebagian besar akan diperlukan untuk produksi / pementasan tetapi tidak selama pengembangan. (Kecuali jika Anda ingin men-cache pandangan Anda selama pengembangan).
killstreet
14

Saya benar-benar harus menambahkan file .env ke proyek saya dan kemudian menyalin konten .env.example sehingga key:generateakan berfungsi. Tidak yakin mengapa file .env tidak dibuat saat saya memulai proyek.

Craig Kollross
sumber
1
Ini mungkin tergantung pada bagaimana Anda menginstal Laravel ... " Dalam instalasi Laravel yang baru, direktori root aplikasi Anda akan berisi .env.examplefile. Jika Anda menginstal Laravel melalui Composer, file ini akan secara otomatis diganti namanya menjadi .env. Jika tidak, Anda harus mengganti nama menjadi file secara manual. "- #Environment Configuration
Sᴀᴍ Onᴇᴌᴀ
juga, jika Anda mengkloning proyek dari repo di mana file .env mungkin ada di .gitignore, maka Anda juga perlu membuatnya. Dari dokumen Laravel: 'File .env Anda tidak boleh dikomit ke kontrol sumber aplikasi Anda, karena setiap pengembang / server yang menggunakan aplikasi Anda dapat memerlukan konfigurasi lingkungan yang berbeda'
Sami El Maameri
Saya juga menemukan bahwa jika Anda mengunduhnya dari cloud (saya menggunakan windows) yaitu google-drive, sky-drive dll. File .env, .env.example dinamai _env, _env.example dll. Dalam hal ini saya mengganti nama file sesuai dan kemudian hanya menjalankan 'php artisan key: generate'.
Timothy Kruger
11
php artisan key:generate
php artisan config:cache

bekerja untuk saya, tetapi harus dilakukan di command prompt pada Windows.

Melakukannya di dalam terminal di PHPStorm tidak berhasil.

José Maria
sumber
11

Masalah umum yang mungkin Anda alami saat mengerjakan aplikasi Laravel adalah pengecualian:

RuntimeException Tidak ada kunci enkripsi aplikasi yang ditentukan.

Anda akan sering mengalami ini ketika Anda menarik ke bawah aplikasi Laravel yang ada, tempat Anda menyalin .env.examplefile .envtetapi tidak menetapkan nilai untukAPP_KEY variabel.

Di baris perintah, buat perintah Artisan berikut untuk menghasilkan kunci:

php artisan key:generate

Ini akan menghasilkan kunci acak untuk APP_KEY, Setelah selesai .envedit silakan masukkan perintah ini di terminal Anda untuk menghapus cache:php artisan config:cache

Juga, Jika Anda menggunakan server web default PHP (mis. php artisan serve), Anda harus memulai ulang server dengan mengubah .envnilai file Anda . sekarang Anda tidak akan melihat pesan kesalahan ini.

Udhav Sarvaiya
sumber
9

Buka command prompt di folder root proyek Anda dan jalankan

php artisan key:generate

Kemudian

php artisan config:cache

lalu

Jika Anda mendapatkan kesalahan yang sama setelah memiliki nilai kunci, maka cukup salin nilai APP_KEY dari file .env dan tempelkan ke config / app.php dengan 'key' => 'KUNCI ANDA',

dan sekali lagi lari

php artisan config:cache
kaushik
sumber
7

Ikuti langkah-langkah ini:

  1. php artisan key:generate
  2. php artisan config:cache
  3. php artisan serve
Skandarajah Shyamalan
sumber
bahkan setelah membuat kunci dalam file .env saya mendapatkan kesalahan. Ketika saya menjalankan "php artisaan config: cache" itu membersihkan cache dan hanya masalah saya yang terpecahkan. Terima kasih banyak.
Pankaj
6

Oke, saya akan menulis instruksi lain, karena tidak menemukan jawaban yang jelas di sini. Jadi, jika Anda menghadapi masalah seperti itu, ikuti ini:

  1. Ganti nama atau salin / ubah nama file .env.example di root proyek Anda menjadi .env .

Anda seharusnya tidak hanya membuat file .env kosong , tetapi mengisinya dengan konten .env.example .

  1. Di terminal pergi ke direktori root proyek (bukan folder publik) dan jalankan

kunci artisan php: menghasilkan

  1. Jika semuanya baik-baik saja, respons di terminal akan terlihat seperti ini

Kunci aplikasi [base64: wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA =] berhasil disetel.

  1. Sekarang hanya menyalin kunci itu sendiri dan paste di Anda .env file sebagai nilai untuk APP_KEY. Baris hasil akan terlihat seperti ini:

APP_KEY = base64: wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA =

  1. Dalam menjalankan terminal

php artisan config: cache

Itu dia.

Dmitry Gordienko
sumber
Jadi php artisan key:generatetidak secara otomatis menambahkan kunci ke file .env Anda?
Rwd
Tidak, dalam kasus saya.
Dmitry Gordienko
4

Anda dapat membuat Kunci Enkripsi Aplikasi menggunakan perintah ini:

php artisan key:generate

Lalu, buat file cache untuk memuat konfigurasi yang lebih cepat menggunakan perintah ini:

php artisan config:cache

Atau, sajikan aplikasi di server pengembangan PHP menggunakan perintah ini:

php artisan serve

Itu dia!

Prakash Pazhanisamy
sumber
3

Jika Anda git mengkloning beberapa proyek maka masalah semacam ini biasanya dapat terjadi.

  1. pastikan ada .envfile
  2. jalankan php artisan key:generatedan kemudian akan menghasilkan APP_KEY dalam
  3. akhirnya jalankan php artisan servedan itu harus bekerja.
Jasbin Karki
sumber
1

Saya mengalami masalah ini ketika saya menyalin konten proyek Laravel saya secara manual (katakanlah situs / nama lama) ke direktori baru di Mac saya (katakanlah, situs / nama baru). Karena saya secara manual menyeret dan menjatuhkan, itu tidak mengambil file yang disembunyikan, yaitu, '.env'. Ketika saya melihat lebih dekat pada situs / oldname saya melihat .editorconfig, .env, .env.example, .gitatrributes, .styleci.yml, dll.

Kesalahan hilang setelah saya menyalin file tersembunyi ke direktori baru.

Jadi, "Belum Ada Kunci Enkripsi Aplikasi yang Ditentukan" adalah Laravel berbicara untuk "file .env Anda tidak ada."

JJ Rohrer
sumber
0

Saya harus memulai kembali pekerja antrian saya php artisan queue:restartsetelah menjalankan php artisan key:generateuntuk mendapatkan pekerjaan.

Nenotlep
sumber
0

jalankan saja

php artisan key:generate

ini bekerja untuk saya

Dimuthu Maduranga
sumber
0

Dalam kasus saya, ketika kloning proyek dari git tidak ada .env

mengajukan. Jadi saya menyalin .envfile dari proyek sumber dan menempelkannya di proyek saya saat ini dan mengubah konfigurasi database dan berhasil berjalan.

Pawan Verma
sumber