Laravel మార్పు తర్వాత .env ఫైల్‌ని చదవడం లేదు

Laravel Is Not Reading



సమస్య

కొత్త లారావెల్ డెవలపర్‌లలో కనిపించే సాధారణ సమస్య ఇది.

చాలా మంది వ్యక్తులు తమ అప్లికేషన్ రిఫ్రెష్ చేసినప్పుడు, .env కాన్ఫిగర్ విలువలు కనిపించడం లేదని చూడటానికి వారి .env ఫైల్‌ని అప్‌డేట్ చేయడానికి ప్రయత్నిస్తున్నారు.







మరియు మరింత ఆసక్తికరమైన విషయం ఏమిటంటే, మీ లారావెల్ వెర్షన్‌ని అప్‌గ్రేడ్ చేసిన తర్వాత ఇది తరచుగా కనిపిస్తుంది.



ఉదాహరణకు, మీ .env ఫైల్‌లో మీరు దీన్ని కలిగి ఉంటారు:



DB_DATABASE=లారావెల్డ్బ్
DB_USERNAME=లారావేలుసర్

అప్పుడు సహజంగా, config/database.php ఫైల్ లోపల మీకు ఇది ఉంటుంది:





'Mysql'=> [
' డేటాబేస్ '=>ఎన్వి('DB_DATABASE','తొడ'),
'వినియోగదారు పేరు'=>ఎన్వి('DB_USERNAME','తొడ'),
]

ఫోర్జ్ ఇక్కడ డిఫాల్ట్ విలువలను సూచిస్తుంది. దీని అర్థం మీరు మీ అందించన సందర్భంలో ఈ విలువలు ఉపయోగించబడతాయి DB_DATABASE మరియు DB_USERNAME మీ .env ఫైల్ లోపల విలువలు. ఈ సమాచారం కొంచెం ఉపయోగకరంగా ఉంటుంది.

ఇప్పుడు, మీరు ఈ క్రింది మినహాయింపును ఎదుర్కొంటే మీకు ఈ నిర్దిష్ట సమస్య ఉందని మీకు ఎలా తెలుస్తుంది:



PDOException: SQLSTATE[HY000] [1045]కోసం యాక్సెస్ తిరస్కరించబడింది వినియోగదారు 'లార్'@'లోకల్ హోస్ట్'
( ఉపయోగించి పాస్వర్డ్ : లేదు )

ఇది మీ Laravel అప్లికేషన్ మీ నుండి డిఫాల్ట్ విలువను లాగుతున్నట్లు స్పష్టంగా చూపిస్తుంది config/database.php ఫైల్ మరియు మీ .env నుండి కాదు.

మరేదైనా చేయడానికి ముందు, మీరు php ఆర్టిసన్ టింకర్‌ను ఉపయోగించి ఈ సమస్యను ధృవీకరించడానికి కూడా ప్రయత్నించవచ్చు:

>>>ఎన్వి('DB_DATABASE')
=> శూన్య
>>>getenv('DB_DATABASE')
=> తప్పుడు
>>>config(' డేటాబేస్ . కనెక్షన్లు. msql. డేటాబేస్ ')
=>తొడ
>>>డిడి($ _ENV)
[]

కింది వాటిని చేయడం వల్ల తేడా ఉండదని మీరు తరచుగా చూస్తారు. అయితే, డెవలపర్లు పూర్తిగా కొత్త Laravel ఇన్‌స్టాల్‌ని అమలు చేయడం ద్వారా మరియు పాత యాప్ ఫోల్డర్‌ని కాపీ చేయడం ద్వారా తమ కాన్ఫిగరేషన్‌ని పరీక్షించడానికి ప్రయత్నిస్తారు. వారు ఏ స్వరకర్త ప్యాకేజీ సంస్థాపనలను అమలు చేయరు లేదా మరేదైనా చేయరు.

మీరు లైనక్స్‌లో లేనట్లయితే (కొంచెం తరువాత ఎందుకు చెప్తాను), మీకు ఎలాంటి మార్పులు కనిపించవు.

పరిష్కారం

ఎప్పటిలాగే, ఈ సమస్యను పరిష్కరించడానికి మీరు చేయగలిగే అనేక విషయాలు ఉన్నాయి, కానీ వాటిలో కొన్ని విజయవంతం అయ్యే అవకాశం ఉంది.

మీ కాన్ఫిగరేషన్ కాష్‌ను క్లియర్ చేయండి

ముందుగా, మీరు లేకపోతే, మీరు మరేదైనా చేయడానికి ముందు మీ కాన్ఫిగర్ కాష్‌ని క్లియర్ చేయాలి.

ఈ రోజుల్లో మా కోడ్ చాలా లైబ్రరీలను ఉపయోగిస్తున్నందున, రన్‌టైమ్ సమయంలో వాటిని త్వరగా యాక్సెస్ చేయడానికి మేము కాష్ చేయవలసి వస్తుంది.

నేను వ్యక్తిగతంగా Windows మరియు Mac లో దీనితో సమస్యలను ఎదుర్కొన్నాను, అయితే, కొన్ని కారణాల వలన, Linux (Ubuntu) లో ఈ కాన్ఫిగరేషన్ ఫైళ్లు ఏదో ఒకవిధమైన హుక్ తో క్లియర్ చేయబడ్డాయి లేదా అవి అస్సలు కాష్ చేయబడలేదు, ఎందుకంటే నేను చేయగలిగాను కింది వాటిని చేయకుండా కొత్త .env విలువలతో అప్లికేషన్‌ను మళ్లీ లోడ్ చేయండి.

కింది ఆదేశాలను అమలు చేయడం ద్వారా మీరు మీ కాన్ఫిగర్ కాష్‌ను క్లియర్ చేశారని నిర్ధారించుకోండి:

php కళాకారుల ఆకృతీకరణ:కాష్
php కళాకారుల ఆకృతీకరణ:స్పష్టమైన

మీ .env ఫైల్‌లో ఖాళీ స్థలాల కోసం తనిఖీ చేయండి

తదుపరి పరిష్కారం మీ .env ఫైల్ లోపల తెల్లని ఖాళీలను కలిగి ఉంది. చాలా మంది విఫలమైతే మరియు వారి జుట్టును చీల్చడం ప్రారంభించినట్లయితే ఇది.

దీన్ని మిస్ చేయడం చాలా సులభం కానీ ఉదాహరణగా మీ .env ఫైల్‌లో మీరు కలిగి ఉన్నది ఇలా ఉంటుంది:

SITE_NAME=నా లారావెల్ అప్లికేషన్

తెలుపు ఖాళీలు .env ఫైల్‌ను భ్రష్టుపట్టిస్తాయి కాబట్టి ఇది మాత్రమే పనిచేయదు.

మీరు చేయాల్సిందల్లా మీ విలువలను ఇలా కోట్లలో ముగించడం:

SITE_NAME=నా లారావెల్ అప్లికేషన్

ఈసారి అంతా సరిగ్గా పనిచేయాలి.

మీరు మార్పు చేసిన ప్రతిసారీ మీ కాన్ఫిగర్ కాష్‌ను క్లియర్ చేయాలని నిర్ధారించుకోండి. మేము దీన్ని మునుపటిలాగే చేయవచ్చు:

php కళాకారుల ఆకృతీకరణ:కాష్
php కళాకారుల ఆకృతీకరణ:స్పష్టమైన