कोई एप्लिकेशन एन्क्रिप्शन कुंजी निर्दिष्ट नहीं की गई है


255

मैं Laravel के लिए नया हूं और मैं कारीगर कमांड का उपयोग करने की कोशिश कर रहा हूं ...

php artisan serve

यह प्रदर्शित करता है...

Laravel विकास सर्वर शुरू हुआ: http://127.0.0.1:8000

हालाँकि, यह स्वचालित रूप से लॉन्च नहीं होगा और जब मैं मैन्युअल रूप से http://127.0.0.1:8000 दर्ज करता हूं तो यह इस त्रुटि को दर्शाता है:

RuntimeException कोई अनुप्रयोग एन्क्रिप्शन कुंजी निर्दिष्ट नहीं की गई है।

कोई विचार? मैं Laravel ढांचे का उपयोग कर रहा हूँ 5.5-dev।


या अगर आपकी .env फ़ाइल को Ref को बदलना पड़े तो: stackoverflow.com/questions/36276767/…
Nameishi

2
नीचे दिए गए उत्तर सही हैं: हालाँकि, यदि आप पहली बार "php कारीगर की सेवा" चलाते हैं और आपके पास एक सक्रिय वेब सर्वर सत्र है, तो आपको अपने प्रभावी होने के लिए परिवर्तन को प्राप्त करने के लिए सर्वर (नियंत्रण-सी में टर्मिनल को रोकने के लिए) को पुनः आरंभ करना होगा। अपनी .env फ़ाइल में कुंजी जोड़ें।
क्रिस एडम्स

जवाबों:


437

से एन्क्रिप्शन - Laravel - पीएचपी फ्रेमवर्क के लिए वेब कारीगर :

"लारवेल के एनक्रिप्ट का उपयोग करने से पहले, आपको अपने कॉन्फ़िगरेशन / ऐप में एक महत्वपूर्ण विकल्प सेट करना होगा। कॉन्फ़िगरेशन फ़ाइल। आपको php artisan key:generateइस कुंजी को बनाने के लिए कमांड का उपयोग करना चाहिए "

मैंने पाया कि google.com में इस जटिल इंटरनेट क्वेरी का उपयोग कर रहा है:

"लार्वेल इनक्रीप्शन कुंजी जोड़ें" (हाँ, यह टाइपो के साथ भी काम करता है!)


22
मैंने पूरी त्रुटि को नजरअंदाज कर दिया और कुछ भी नहीं किया, बस googled सेट encriptyon कुंजी और पता चला। एक मूर्ख की तरह लग रहा है। धन्यवाद। जो कोई भी यहाँ आता है बस दौड़ता है:php artisan key:generate
कार्लोस एफ

माफ करना, तो आप php कारीगर कुंजी डाल रहे हैं: टर्मिनल में उत्पन्न? क्योंकि मुझे
22

1
किसी और के लिए जो मेरे इश्यू इनपुट में टर्मिनल cp .env.example .env php कारीगर कुंजी में भाग गया: जनरेट
नेमिशी

5
php artisan key:generateमेरे लिए भी काम नहीं करता है। मुझे वही त्रुटि देता है कोई अनुप्रयोग एन्क्रिप्शन कुंजी निर्दिष्ट नहीं की गई है , कृपया कोई समाधान?
ओनिया डैनियल

7
यह मेरे लिए काम करता है, लेकिन मुझे पहली बार फ़ाइल का नाम बदलना पड़ा .env.example to .env इस काम के लिए, अन्यथा मुझे ".env: कोई ऐसी फ़ाइल" त्रुटि नहीं मिल रही थी।
Webomatik

129

मेरे मामले में, मुझे कैश्ड कॉन्फ़िग फ़ाइलों को रीसेट करने की भी आवश्यकता थी:

php artisan key:generate
php artisan config:cache

5
मैं इस उत्तर को देखने के बाद हमेशा कैश क्लियर करना भूल जाता हूं
vijayrana

3
यह सभी उत्तरों से गायब था। बहुत - बहुत धन्यवाद! :)
अमन आलम

1
किस php artisan config:cacheलिए है? क्यों उपयोगी है?
पाथ्र्स

2
कैश्ड कॉन्फिग फाइलों को बनाने / पुन: बनाने के लिए @Pathros
लियोनिद डैशको

1
इसके अलावा, सबसे पहले, सुनिश्चित करें कि आपकी " .env" फ़ाइल में कम से कम खाली कुंजी विकल्प शामिल हैं, जैसे:APP_KEY=
टॉप-मास्टर

54

अपने प्रोजेक्ट के रूट फ़ोल्डर में कमांड प्रॉम्प्ट खोलें और कमांड के नीचे चलाएं:

php artisan key:generate

यह आपके आवेदन के लिए एप्लिकेशन कुंजी उत्पन्न करेगा।

आप .envफ़ाइल में उत्पन्न एप्लिकेशन कुंजी (APP_KEY) पा सकते हैं ।


23

बस इस कमांड को चलाएं:

php artisan key:generate

1
हां, लेकिन कई होस्टिंग सर्वर में कमांड लाइन एक्सेस नहीं है तो कैसे करें?
धीरज

2
बहुसंख्यक समर्थन ssh कनेक्शन। आपके टर्मिनल रन ssh yourusername @ server_ip से
DJ

21
  1. इसे कॉपी .env.exampleकरें .env:

    cp -a .env.example .env

  2. एक कुंजी उत्पन्न करें:

    php artisan key:generate

  3. तभी चला:

    php artisan serve


ओह। यह महत्वपूर्ण कदम था! एक ताजा लारवेल परियोजना को एक .env फ़ाइल या कुछ भी नहीं चाहिए। धन्यवाद, एडम।
एरिक एल।

16

cp .env.example .envअगर कोई .env फ़ाइल मौजूद नहीं है। php artisan key:generateमेरे लिए कमांड काम करता है। यह एन्क्रिप्शन कुंजी उत्पन्न करता है


4
php artisan config:cacheउपरोक्त चरणों के बाद कमांड का उपयोग करके कैश को साफ़ करें।
सब्यसाची घोष

कैशे समाशोधन ज्यादातर उत्पादन / मंचन की आवश्यकता होगी, लेकिन विकास के दौरान नहीं। (जब तक आप विकास के दौरान अपने विचारों को कैश करना पसंद नहीं करते)।
हत्यारोपी

14

मुझे वास्तव में अपने प्रोजेक्ट में .env फ़ाइल को जोड़ना था और फिर .env.example की सामग्री को कॉपी करना था ताकि key:generateकाम हो सके। निश्चित नहीं है कि जब मैंने प्रोजेक्ट शुरू किया था तो .env फ़ाइल क्यों नहीं बनाई गई थी।


1
यह इस बात पर निर्भर हो सकता है कि आपने लारवेल को कैसे स्थापित किया है ... " एक ताजा लारवेल इंस्टॉलेशन में, आपके एप्लिकेशन की रूट डायरेक्टरी में एक .env.exampleफ़ाइल होगी । यदि आप लारावेल को कम्पोज़र के माध्यम से इंस्टॉल करते हैं, तो यह फ़ाइल स्वचालित रूप से नाम बदल जाएगी .env। अन्यथा, आपको नाम बदलना चाहिए।" फ़ाइल मैन्युअल रूप से। "- # कॉन्फ़िगरेशन कॉन्फ़िगरेशन
Sᴇᴌᴀ On

इसके अलावा, यदि आपने एक रेपो से प्रोजेक्ट को क्लोन किया है जहाँ .env फ़ाइल संभवत: .ignignore में है, तो आप इसे भी बनाना चाहेंगे। लारवेल डॉक्स से: 'आपकी .env फ़ाइल आपके एप्लिकेशन के स्रोत नियंत्रण के लिए प्रतिबद्ध नहीं होनी चाहिए, क्योंकि आपके एप्लिकेशन का उपयोग करने वाले प्रत्येक डेवलपर / सर्वर को अलग वातावरण कॉन्फ़िगरेशन की आवश्यकता हो सकती है'
सामी एल मामेरी

मैंने यह भी पाया कि यदि आप इसे क्लाउड से डाउनलोड कर रहे हैं (मैं विंडोज़ का उपयोग कर रहा हूँ) यानी गूगल-ड्राइव, स्काई-ड्राइव आदि .env, .env.example फ़ाइलों का नाम _env, _env.example आदि है। उस स्थिति में मैं तदनुसार फ़ाइलों का नाम बदला और फिर 'php कारीगर कुंजी: जनरेट' किया।
टिमोथी क्रुगर

11
php artisan key:generate
php artisan config:cache

मेरे लिए काम किया है, लेकिन यह विंडोज पर एक कमांड प्रॉम्प्ट में किया जाना था।

PHPStorm में टर्मिनल के अंदर यह काम नहीं किया।


11

एक सामान्य समस्या जिसका आप अनुभव कर सकते हैं जब एक लारवेल एप्लिकेशन पर काम करना अपवाद है:

RuntimeException कोई अनुप्रयोग एन्क्रिप्शन कुंजी निर्दिष्ट नहीं की गई है।

जब आप मौजूदा Laravel एप्लिकेशन को खींचते हैं, तो आप अक्सर इसमें भाग लेंगे, जहाँ आप .env.exampleफ़ाइल की प्रतिलिपि बनाते हैं, .envलेकिन APP_KEYचर के लिए कोई मान सेट नहीं करते हैं।

कमांड लाइन पर, कुंजी बनाने के लिए निम्नलिखित कारीगर कमांड जारी करें:

php artisan key:generate

इसके लिए एक यादृच्छिक कुंजी उत्पन्न होगी APP_KEY, .envसंपादन पूरा होने के बाद कृपया स्पष्ट कैश के लिए अपने टर्मिनल में इस कमांड को दर्ज करें:php artisan config:cache

इसके अलावा, यदि आप PHP के डिफ़ॉल्ट वेब सर्वर (उदाहरण के लिए php artisan serve) का उपयोग कर रहे हैं, तो आपको अपने फ़ाइल मानों को बदलते हुए सर्वर को पुनरारंभ करने की आवश्यकता है .env। अब आपको यह त्रुटि संदेश देखने को नहीं मिलेगा।


9

अपने प्रोजेक्ट के रूट फोल्डर में ओपन कमांड प्रॉम्प्ट और रन करें

php artisan key:generate

फिर

php artisan config:cache

और फिर

यदि आपको कुंजी-मान होने के बाद भी वही त्रुटि हो रही है, तो .env फ़ाइल से केवल APP_KEY मान कॉपी करें और इसे 'कुंजी' => 'आपका कुंजी' के साथ कॉन्फ़िगर / app.php पर पेस्ट करें,

और फिर चला

php artisan config:cache

7

इस चरण का पालन करें:

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

.env फ़ाइल में कुंजी जनरेट करने के बाद भी मुझे त्रुटि हो रही थी। जब मैंने "php Artisaan config: cache" चलाया तो उसने कैश को साफ़ कर दिया और फिर केवल मेरी समस्या हल हुई। बहुत बहुत धन्यवाद।
पंकज

6

ठीक है, मैं एक और निर्देश लिखूंगा, क्योंकि यहां स्पष्ट उत्तर नहीं मिला। तो अगर आपको ऐसी समस्याओं का सामना करना पड़ा है, तो इसका अनुसरण करें:

  1. नाम या प्रतिलिपि / नाम बदलें .env.example फ़ाइल को अपने प्रोजेक्ट की जड़ में .env पर

आपको केवल खाली .env फ़ाइल नहीं बनानी चाहिए , लेकिन उसे .env.example की सामग्री से भरना चाहिए

  1. टर्मिनल में प्रोजेक्ट रूट डायरेक्टरी (पब्लिक फोल्डर नहीं) पर जाएं और चलाएं

php कारीगर कुंजी: उत्पन्न

  1. यदि सब कुछ ठीक है, तो टर्मिनल में प्रतिक्रिया इस तरह दिखनी चाहिए

अनुप्रयोग कुंजी [base64: wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA =] सफलतापूर्वक सेट करें।

  1. अब बस कुंजी को कॉपी करें और APP.KEY के मान के रूप में अपनी .env फ़ाइल में पेस्ट करें । परिणाम पंक्ति इस तरह दिखनी चाहिए:

APP_KEY = बेस 64: wbvPP9pBOwifnwu84BeKAVzmwM4TLvcVFowLcPAi6nA =

  1. टर्मिनल रन में

php कारीगर विन्यास: कैश

बस।


तो php artisan key:generateस्वचालित रूप से आपकी .env फ़ाइल की कुंजी नहीं जोड़ा गया?
Rwd

नहीं, मेरे मामले में।
दिमित्री गॉर्डिएन्को

4

आप इस कमांड का उपयोग करके एप्लिकेशन एन्क्रिप्शन कुंजी उत्पन्न कर सकते हैं:

php artisan key:generate

फिर, इस आदेश का उपयोग करके तेज़ कॉन्फ़िगरेशन लोडिंग के लिए कैश फ़ाइल बनाएँ:

php artisan config:cache

या, इस कमांड का उपयोग करके PHP डेवलपमेंट सर्वर पर एप्लिकेशन की सेवा करें:

php artisan serve

बस!


3

यदि आप किसी प्रोजेक्ट को क्लोन करते हैं तो इस तरह का मुद्दा आमतौर पर हो सकता है।

  1. सुनिश्चित करें कि .envफ़ाइल है
  2. चलाएँ php artisan key:generateऔर फिर इसे APP_KEY जनरेट करना चाहिए में APP_KEY
  3. अंत में चला php artisan serveऔर यह काम करना चाहिए।

1

मैं इस मुद्दे पर तब भाग गया जब मैंने अपने मैक (कहो, साइटों / newname) पर एक नई निर्देशिका में अपने लारवेल परियोजना (जैसे साइटों / पुराने नाम) की सामग्री को मैन्युअल रूप से कॉपी किया। चूंकि मैं मैन्युअल रूप से घसीट रहा था और गिर रहा था, इसलिए उसने छिपी हुई फाइलों को नहीं पकड़ा, जिसका नाम था, '.env'। जब मैंने साइटों / पुराने नाम पर अधिक ध्यान से देखा तो मैंने .editorconfig, .env, .env.example, .gitatrributes, .styleci.yml, आदि देखा।

एक बार जब मैंने नई निर्देशिका में छिपी हुई फ़ाइलों की प्रतिलिपि बनाई तो त्रुटि दूर हो गई।

तो, "नो एप्लिकेशन एनक्रिप्शन एन्क्रिप्शन हैज बी स्पेसिफाइड" लारवेल के लिए बोलता है "आपकी .env फाइल गायब है।"


0

मुझे काम करने के लिए php artisan queue:restartदौड़ने के बाद अपने कतार कार्यकर्ता का उपयोग करना पड़ा php artisan key:generate



0

मेरे मामले में, इस परियोजना को git से क्लोन करते समय कोई नहीं था .env

फ़ाइल। इसलिए मैं .envस्रोत प्रोजेक्ट से फ़ाइल की प्रतिलिपि बनाता हूं और अपने वर्तमान प्रोजेक्ट में पेस्ट करता हूं और डेटाबेस के कॉन्फ़िगरेशन को बदलता हूं और यह सफलतापूर्वक चलता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.