मैंने सिम्फनी फ्लेक्स का उपयोग करके एक ताजा सिम्फनी इंस्टॉलेशन किया और नया कंकाल अगले सिम्फनी 4 निर्देशिका संरचना से संबंधित है।Symfony4 संरचना में पैरामीटर फ़ाइल में मैं अपने पर्यावरण चर को कैसे पुनर्प्राप्त कर सकता हूं?
मैं पहले तीसरे पक्ष के बंडल को जोड़ और कॉन्फ़िगर करता हूं: HWIOAuthBundle। इस बंडल का उपयोग दो गुप्त सूचनाओं का उपयोग करके ट्विटर के माध्यम से कनेक्ट करने के लिए किया जाता है।
मैं consumer_id
और फ़ाइल में consumer_secret
घोषित करता हूं।
hwi_oauth:
firewall_names: [secured_area]
resource_owners:
twitter:
type: twitter
client_id: XXXXXMyIdXXXXX
client_secret: XXXXXMyTopSecretKeyXXXXX
मेरा आवेदन ठीक काम करता है। लेकिन मैं गितूब पर अपने रहस्य नहीं कर सकता!
hwi_oauth:
firewall_names: [secured_area]
resource_owners:
twitter:
type: twitter
client_id: '%twitter_consumer_id%'
client_secret: '%twitter_consumer_secret%'
मैं नए DotEnv पैकेज के बारे में Symfony4 best practices पढ़ें:
मैं एक hwi_oauth.yaml
फ़ाइल इस तरह करना चाहते हैं।
Using environment variables, while far from being perfect, have many benefits over what we currently do. Environment variables are a more "standard" way of managing settings that depend on the environment (no need to manage a parameters.yml.dist for instance).
सर्वोत्तम प्रथाओं में सुझाव के रूप में, मैं इन दो लाइन .env
करने के लिए फ़ाइल संलग्न:
TWITTER_CONSUMER_ID=XXXXXMyIdXXXXX
TWITTER_CONSUMER_SECRET=XXXXXMyTopSecretKeyXXXXX
लेकिन मैं इस त्रुटि का सामना करना पड़ा:
You have requested a non-existent parameter "twitter_consumer_id".
मैं %kernel.twitter_consumer_id%
साथ की कोशिश की, %env.twitter_consumer_id%
, %env(TWITTER_CONSUMER_ID)%
कोई और सफलता के साथ।
An exception has been thrown during the rendering of a template ("Environment variable not found: "TWITTER_CONSUMER_ID".").
मैं कैसे hwi_oauth.yaml
की तरह एक पैरामीटर फाइल में मेरी ENV चर को पुनः प्राप्त कर सकते हैं:
अंतिम परीक्षण इस त्रुटि संदेश लौटा रहा है?
आप 'DotEnv' घटक के साथ' .env' लोड हो रहा है कर रहे हैं? – bishop
धन्यवाद @ बिशप! 'Public \ index.php' में' if (! Getenv ('APP_ENV')) {(नया Dotenv()) -> लोड (__ डीआईआर __। '/ .. /। Env') है; } 'और यह' .env' लोड नहीं किया गया था। यह अब काम करता है ! लेकिन चेक यह सुनिश्चित करना है कि हम उत्पादन में '.env' का उपयोग न करें। मैं समझ नहीं पा रहा हूं कि इसे देव में कैसे उपयोग किया जाए और अभी भी मेरे प्रोड की रक्षा करें ... क्या यह परीक्षण '! Getenv (' APP_ENV ')' को पुनः प्राप्त करने के लिए सुरक्षित है: 'in_array (getenv (' APP_ENV '), [ 'देव', 'परीक्षण']) '? –