लारावेल 5 आवेदन कुंजी


81

मैं लारावेल के लिए नया हूं। मैंने आज रात ही इसकी शुरुआत की थी। वास्तव में, मेरे पास निम्नलिखित कोड हैं:

'key' => env('APP_KEY', 'SomeRandomString'),

में XAMPP / htdocs / laravel / ब्लॉग / config / app.php
मैं इस कुंजी को 32-बिट में cmd ​​द्वारा बदलना चाहता हूं:

xampp\htdocs\laravel/blog>php artisan key:generate 

यह कुंजी उत्पन्न करता है लेकिन xampp / htdocs / laravel / blog / config / app.php में / अद्यतन को प्रतिस्थापित नहीं कर सकता है ।


क्या आपके पास .env फाइल जगह पर है? यदि हां, तो कृपया जांच लें कि क्या आपके पास वहां कोई चाबी है।
जुआन कार्लोस ब्राउन

@ जुआन कार्लोस ब्राउन मुझे वहाँ से मिला, धन्यवाद।
रहम

मैंने एक नया उत्तर जोड़ा, केवल उपयोगकर्ताओं के पासवर्ड पर जोर देने के लिए।
प्रोस्टी

जवाबों:


108

यह लाइन आपके app.php, 'key' => env('APP_KEY', 'SomeRandomString'),यह कह रही है कि आपके एप्लिकेशन की कुंजी .envलाइन पर आपकी फ़ाइल में मिल सकती है APP_KEY

मूल रूप से यह लारवेल से कहता है कि वह .envपहले फाइल में चाबी की तलाश करें और अगर वहां कोई उपयोग करने के लिए नहीं है 'SomeRandomString'

जब आप इसका उपयोग करते हैं तो php artisan key:generateयह आपकी .envफ़ाइल के लिए नई कुंजी उत्पन्न करेगा न कि app.phpफ़ाइल।

जैसा कि कोट्टापेटर ने कहा, आपका .envमूल लारवेल निर्देशिका के अंदर होगा और छिपाया जा सकता है; xampp / htdocs / laravel / ब्लॉग


83

आप keyनिम्न आदेश द्वारा उत्पन्न कर सकते हैं :

php artisan key:generate 

कुंजी आपकी .envफ़ाइल में स्वचालित रूप से लिखी जाएगी ।

APP_KEY=YOUR_GENERATED_KEY

यदि आप अपनी keyपीढ़ी के उपयोग के --showविकल्प को देखना चाहते हैं

php artisan key:generate --show

नोट: .envआपके प्रोजेक्ट फ़ोल्डर में एक छिपी हुई फ़ाइल है।

यहाँ छवि विवरण दर्ज करें


2
जब लाइन डिफॉल्ट खाली लाइन पहले से ही APP_KEY =
एंड्रयू

42

एक अन्य विकल्प के रूप में यदि आप केवल कुंजी प्रिंट करना चाहते हैं (.env फ़ाइल नहीं लिखते) तो आप उपयोग कर सकते हैं:

php artisan key:generate --show

यह डिफ़ॉल्ट होना चाहिए? अन्यथा जब आप php कारीगर कुंजी टाइप करते हैं: तो क्या आप अपने (उम्मीद के विकास) मशीन में पासवर्ड नहीं बनाते हैं? IE हम की जरूरत है php कारीगर कुंजी: उत्पन्न
टॉम एंडरसन

1
@TomAndersen नहीं, APP_KEY केवल एन्क्रिप्शन के लिए उपयोग किया जाता है (इसलिए, डिफ़ॉल्ट रूप से, कुकीज़), पासवर्ड हैशिंग के लिए नहीं। मुझे लगा कि कसकर / मुझे बोलना / रोकना-कहना- और-समझाना अच्छा है।
चार्ल्स वुड

2

लाइन से

'key' => env('APP_KEY', 'SomeRandomString'),

APP_KEYएक वैश्विक पर्यावरण चर है जो .envफ़ाइल के अंदर मौजूद है ।

यदि आप ट्रिगर करते हैं तो आप एप्लिकेशन कुंजी को बदल सकते हैं

php artisan key:generate

आज्ञा। यह हमेशा नई कुंजी उत्पन्न करेगा।

आउटपुट इस तरह हो सकता है:


Application key [Idgz1PE3zO9iNc0E3oeH3CHDPX9MzZe3] set successfully.

Application key [base64:uynE8re8ybt2wabaBjqMwQvLczKlDSQJHCepqxmGffE=] set successfully.

बेस 64 एन्कोडिंग लारवेल 5.4 में डिफ़ॉल्ट होना चाहिए

ध्यान दें कि जब आप पहली बार अपना Laravel एप्लिकेशन बनाते हैं, तो कुंजी: जनरेट स्वचालित रूप से कहा जाता है।

यदि आप कुंजी बदलते हैं तो ध्यान रखें कि Hash::make()अब सहेजे गए पासवर्ड मान्य नहीं होंगे।


4
"यदि आप कुंजी बदलते हैं तो ध्यान रखें कि हैश :: मेक () के साथ सहेजे गए पासवर्ड अब मान्य नहीं होंगे।" - यह कुछ ऐसा है जो मैंने भी सोचा था। मैंने इंटरनेट पर भी इसे अक्सर पढ़ा है। हालाँकि, यदि आप github.com/laravel/framework/blob/5.5/src/Illuminate/Hashing/… और github.com/laravel/framework/blob/5.5/src/Illuminate/Hashing/… और पिछले पर एक नज़र डालें इस कोड के संस्करण, हैश या किसी और चीज के लिए ऐप कुंजी का उपयोग नहीं किया जाता है। मैंने ऐप की कुंजी को बदलने की कोशिश की और, जैसे कोड बताता है, मेरा पासवर्ड अभी भी सही तरीके से जांचा गया है।
लेइफ

1
एप्लिकेशन कुंजी का उपयोग सत्र डेटा को एन्क्रिप्ट करने के लिए किया जाता है, पासवर्ड के बजाय, जिसका उल्लेख प्रलेखन में किया गया है और इसके अलावा, कम से कम मेरी समझ से, यह सममित डिक्रिपेटेबल एन्क्रिप्शन को मानता है।
सर्गेई नेशोकोव्स्कि जूल

1

मेरे लिए समस्या यह थी कि मैं अभी तक composer updateइस नए प्रोजेक्ट / कांटे के लिए नहीं भागा था । कमान चुपचाप विफल रही, कुछ नहीं हुआ।

composer updateइसे चलाने के बाद काम किया।


1
आपका मतलब हो सकता है composer installcomposer updateजब तक आप वास्तव में निर्भरता को अद्यतन नहीं करना चाहते हैं, तब तक जरूरी नहीं कि आपको किसी प्रोजेक्ट के नए कांटे पर तुरंत चलना चाहिए ।
डेन अब्रे
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.