Uygulama Şifreleme Anahtarı Belirtilmemiş


255

Laravel'de yeniyim ve Artisan komutunu kullanmaya çalışıyorum ...

php artisan serve

Görüntüleniyor...

Laravel geliştirme sunucusu başladı: http://127.0.0.1:8000

Ancak, otomatik olarak başlamaz ve http://127.0.0.1:8000'i manuel olarak girdiğimde bu hatayı gösterir:

RuntimeException Hiçbir uygulama şifreleme anahtarı belirtilmedi.

Herhangi bir fikir? Laravel framework 5.5-dev kullanıyorum.


veya .env dosyanızın değiştirilmesi gerekiyorsa ref: stackoverflow.com/questions/36276767/…
Nameishi

2
Aşağıdaki cevaplar doğrudur: ancak, ilk olarak "php artisan serve" komutunu çalıştırır ve etkin bir web sunucusu oturumunuz varsa, değişikliğin sizden sonra yürürlüğe girmesi için sunucuyu yeniden başlatmanız gerekir (durdurmak için terminaldeki control-c). anahtarı .env dosyanıza ekleyin.
Chris Adams

Yanıtlar:


439

Gönderen Şifreleme - laravel - PHP Çerçeve İçin Web Esnafları :

"Laravel'in şifrelemesini kullanmadan önce config / app.php yapılandırma dosyanızda bir anahtar seçeneği ayarlamanız gerekir. php artisan key:generateBu anahtarı oluşturmak için komutu kullanmalısınız "

Google.com'da bu karmaşık internet sorgusunu kullanarak buldum:

"laravel şifreleme anahtarı ekle" (Evet, yazım hatasıyla bile çalıştı!)


22
Ben tüm hata googled ve hiçbir şey ortaya çıktı, sadece googled set encriptyon anahtar ve öğrendim. Bir aptal gibi hissediyorum. Teşekkürler. Buraya gelen herkes için sadece çalıştırın:php artisan key:generate
Carlos F

Ben üzgünüm yani php esnaf anahtar koyarak: terminal oluşturmak? çünkü bir ErrorException alıyorum
Nameishi

1
Benim sorunum koştu herkes için bu terminal cp .env.example .env php esnaf anahtarı girin: oluşturmak
Nameishi

5
php artisan key:generatebenim için bile çalışmıyor. Bana aynı hatayı veriyor Uygulama şifreleme anahtarı belirtilmedi , lütfen herhangi bir çözüm var mı?
Oniya Daniel

7
Bu benim için çalıştı, ama önce çalışması için .env.example dosyasını .env olarak yeniden adlandırmak zorunda kaldı, aksi takdirde ".env: böyle bir dosya yok" hatası alıyordum.
Webomatik

129

Benim durumumda, önbelleğe alınmış yapılandırma dosyalarını da sıfırlamam gerekiyordu:

php artisan key:generate
php artisan config:cache

5
Önbelleği temizlemeyi unuttuktan sonra her zaman bu cevabı görmeye geldim
Vijayrana

3
Tüm cevaplarda bu eksikti. Çok teşekkürler! :)
Aman Alam

1
Ne php artisan config:cacheiçin? Neden faydalı?
Pathros

2
@Pathros, önbelleğe alınmış yapılandırma dosyalarını oluşturmak / yeniden oluşturmak için
Leonid Dashko

1
Buna ek olarak, önce " .env" dosyanızın en az boş anahtar seçeneğini içerdiğinden emin olun , örneğin:APP_KEY=
Top-Master

54

Projenizin kök klasöründe komut istemini açın ve aşağıdaki komutu çalıştırın:

php artisan key:generate

Uygulamanız için Uygulama Anahtarı oluşturur.

Oluşturulan uygulama anahtarını (APP_KEY) .envdosyada bulabilirsiniz.


23

Bu komutu çalıştırın:

php artisan key:generate

1
Evet ama birçok barındırma sunucusunun komut satırı erişimi yok, nasıl yapılır?
Dhiraj

2
çoğunluk ssh bağlantısını destekler. terminalinizden çalıştırın ssh yourusername @ server_ip
DJ

21
  1. Kopya .env.exampleiçin .env:

    cp -a .env.example .env

  2. Bir anahtar oluşturun:

    php artisan key:generate

  3. Ancak bundan sonra çalıştırın:

    php artisan serve


Whoops. Bu kritik adımdı! Yeni bir Laravel projesinin bir .env dosyasına ihtiyacı var, yoksa hiçbir şey çalışmayacak. Teşekkürler, Adam.
Eric L.

16

cp .env.example .env.env dosyası yoksa. php artisan key:generatekomut benim için çalışıyor. Şifreleme anahtarını oluşturur


4
php artisan config:cacheYukarıdaki adımlardan sonra komutu kullanarak önbelleği temizleyin .
Sabyasachi Ghosh

Önbellek temizleme çoğunlukla üretim / aşamalandırma için gerekliydi, ancak geliştirme sırasında gerekli değildi. (Geliştirme sırasında görüşlerinizi önbelleğe almak istemiyorsanız).
killstreet

14

Aslında eklemek zorunda .env projeme dosyası ve daha sonra içeriğini kopyalamak .env.example böylece key:generateçalışacak. Projeyi başlattığımda neden bir .env dosyası oluşturulmadığından emin değilim.


1
Laravel'i nasıl yüklediğinize bağlı olabilir ... " Yeni bir Laravel kurulumunda, uygulamanızın kök dizini bir .env.exampledosya içerecektir . Laravel'i Composer aracılığıyla yüklerseniz, bu dosya otomatik olarak yeniden adlandırılacaktır .env. Aksi takdirde, dosyasını manuel olarak. "- #Çevre Yapılandırması
Sᴀᴍ Açık ᴇᴌᴀ

Ayrıca, projeyi .env dosyasının .gitignore'da olduğu bir repodan kopyaladıysanız, onu da oluşturmanız gerekir. Laravel belgelerinden: '.env dosyanız uygulamanızın kaynak kontrolüne bağlı olmamalıdır, çünkü uygulamanızı kullanan her geliştirici / sunucu farklı bir ortam yapılandırması gerektirebilir'
Sami El Maameri 17.06.2018

Ayrıca buluttan indirirseniz (windows kullanıyorum) yani google-sürücü, gökyüzü-sürücü vb. .Env, .env.example dosyaları _env, _env.example vb. Olarak adlandırılır. dosyaları buna göre yeniden adlandırdı ve sonra sadece 'php artisan key: create' çalıştırdı.
Timothy Kruger

11
php artisan key:generate
php artisan config:cache

benim için çalıştı, ancak Windows'ta bir komut isteminde yapılması gerekiyordu.

PHPStorm'da terminal içinde yapmak işe yaramadı.


11

Laravel uygulaması üzerinde çalışırken karşılaşabileceğiniz yaygın bir sorun istisnadır:

RuntimeException Hiçbir uygulama şifreleme anahtarı belirtilmedi.

Varolan bir Laravel uygulamasını aşağı çektiğinizde, .env.exampledosyayı kopyaladığınız .envancak APP_KEYdeğişken için bir değer ayarlamadığınızda bu sorunla karşılaşırsınız .

Komut satırında, bir anahtar oluşturmak için aşağıdaki Artisan komutunu verin:

php artisan key:generate

Bu, için rastgele bir anahtar oluşturur APP_KEY, .envDüzenleme tamamlandıktan sonra , temiz önbellek için lütfen terminalinize bu komutu girin:php artisan config:cache

Ayrıca, PHP'nin varsayılan web sunucusunu (örn. php artisan serve) Kullanıyorsanız , dosya değerlerinizi değiştirerek sunucuyu yeniden başlatmanız gerekir .env. şimdi bu hata mesajını görmeyeceksiniz.


9

Projenizin kök klasöründe komut istemini açın ve çalıştırın

php artisan key:generate

Sonra

php artisan config:cache

ve sonra

Anahtar / değer çiftine sahip olduktan sonra aynı hatayı alıyorsanız, APP_KEY değerini .env dosyasından kopyalayıp 'key' => 'ANAHTARINIZ' ile config / app.php dosyasına yapıştırın,

ve sonra tekrar koş

php artisan config:cache

7

Şu adımları izleyin:

  1. php artisan key:generate
  2. php artisan config:cache
  3. php artisan serve

hatta .env dosyasında anahtar ürettikten sonra hata alıyordum. Ben "php artisaan config: cache" koştu zaman önbellek temizlenir ve sonra sadece benim sorun çözüldü. Çok teşekkürler.
Pankaj

6

Tamam, başka bir talimat yazacağım, çünkü burada net bir cevap bulamadık. Bu tür sorunlarla karşılaşırsanız, bunu izleyin:

  1. Yeniden adlandırmak veya kopyalamak / yeniden adlandırmak .env.example için projenizin kök dosyanın .env .

Yalnızca boş .env dosyası oluşturmamalı , aynı zamanda .env.example içeriğiyle doldurmalısınız .

  1. Terminalde proje kök dizinine gidin (ortak klasöre değil) ve çalıştırın

php esnaf anahtar: oluşturmak

  1. Her şey yolundaysa, terminaldeki yanıt şöyle görünmelidir

Uygulama anahtarı [base64: wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA =] başarıyla ayarlandı.

  1. Şimdi sadece anahtarın kendisini kopyalayın ve .env dosyanıza APP_KEY değeri olarak yapıştırın. Sonuç satırı şöyle görünmelidir:

APP_KEY = base64: wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA =

  1. Terminal çalışmasında

php artisan yapılandırma: önbellek

Bu kadar.


Yani php artisan key:generateanahtarı .env dosyanıza otomatik olarak eklemedi mi?
Rwd

Hayır, benim durumumda.
Dmitry Gordienko

4

Bu komutu kullanarak Uygulama Şifreleme Anahtarı oluşturabilirsiniz:

php artisan key:generate

Ardından, bu komutu kullanarak daha hızlı yapılandırma yüklemesi için bir önbellek dosyası oluşturun:

php artisan config:cache

Veya bu komutu kullanarak uygulamayı PHP geliştirme sunucusunda sunun:

php artisan serve

Bu kadar!


3

Bazı projeleri klonlarsanız, genellikle bu tür bir sorun ortaya çıkabilir.

  1. .envdosya olduğundan emin ol
  2. çalıştırın php artisan key:generateve sonra .env içinde APP_KEY üretmelidir
  3. nihayet koşmak php artisan serveve çalışıyor olmalı.

1

Laravel projemin (say sites / oldname) içeriğini Mac'imdeki yeni bir dizine (örneğin, sites / newname) manuel olarak kopyaladığımda bu sorunla karşılaştım. Manuel olarak sürükleyip bıraktığım için, gizli dosyaları, yani '.env' tutmadı. Sitelere / eski adaya daha yakından baktığımda .editorconfig, .env, .env.example, .gitatrributes, .styleci.yml vb. Gördüm.

Gizli dosyaları yeni dizine kopyaladıktan sonra hata ortadan kalktı.

Yani, "Hiçbir Uygulama Şifreleme Anahtarı Belirtilmedi" Laravel ".env dosyanız eksik."


0

İşleri php artisan queue:restartçalıştırmak php artisan key:generateiçin çalıştırdıktan sonra kuyruk işçimi kullanarak yeniden başlatmak zorunda kaldım .



0

Benim durumumda, projeyi git'ten klonlarken .env

dosya. Bu yüzden .envdosyayı kaynak projeden kopyalayıp mevcut projeme yapıştırıyorum ve veritabanı yapılandırmasını değiştiriyorum ve başarıyla çalışıyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.