Laravel மாற்றத்திற்குப் பிறகு .env கோப்பைப் படிக்கவில்லை

Laravel Is Not Reading



பிரச்சனை

இது புதிய லாராவெல் டெவலப்பர்களிடையே காட்டப்படும் மிகவும் பொதுவான பிரச்சினை.

நிறைய பேர் தங்கள் .env கோப்பைப் புதுப்பிக்க முயற்சிக்கிறார்கள், அவர்கள் தங்கள் விண்ணப்பத்தை புதுப்பிக்கும்போது, ​​.env கட்டமைப்பு மதிப்புகள் காட்டப்படவில்லை.







மேலும் சுவாரஸ்யமான விஷயம் என்னவென்றால், உங்கள் லாராவெல் பதிப்பை மேம்படுத்திய பிறகு இது அடிக்கடி காண்பிக்கப்படும்.



உதாரணமாக, உங்கள் .env கோப்பில் இதை நீங்கள் வைத்திருப்பீர்கள்:



DB_DATABASE=laraveldb
DB_USERNAME=லாரவேலுசர்

இயற்கையாகவே, config/database.php கோப்பின் உள்ளே நீங்கள் இதை வைத்திருப்பீர்கள்:





'மைஸ்க்எல்'=> [
' தரவுத்தளம் '=>பொறாமை('DB_DATABASE','தொடை'),
'பயனர்பெயர்'=>பொறாமை('DB_USERNAME','தொடை'),
]

ஃபோர்ஜ் இங்கே இயல்புநிலை மதிப்புகளைக் குறிக்கிறது. நீங்கள் வழங்கவில்லை என்றால் இந்த மதிப்புகள் பயன்படுத்தப்படும் என்பதே இதன் பொருள் DB_DATABASE மற்றும் DB_USERNAME உங்கள் .env கோப்பில் உள்ள மதிப்புகள். இந்த தகவல் சற்று உதவியாக இருக்கும்.

இப்போது, ​​நீங்கள் பின்வரும் விதிவிலக்கை எதிர்கொண்டால் இந்த குறிப்பிட்ட பிரச்சனை உங்களுக்கு இருக்கிறது என்று எப்படி தெரியும்:



PDOException: SQLSTATE[HY000] [1045]அணுகல் மறுக்கப்பட்டது பயனர் 'லார்'@'லோக்கல் ஹோஸ்ட்'
( பயன்படுத்தி கடவுச்சொல் : இல்லை )

இது உங்கள் Laravel பயன்பாடு உங்களிடமிருந்து இயல்புநிலை மதிப்பை இழுக்கிறது என்பதை தெளிவாகக் காட்டுகிறது config/database.php கோப்பு மற்றும் உங்கள் .env இலிருந்து அல்ல.

வேறு எதையும் செய்வதற்கு முன், நீங்கள் PHP கைவினைஞர் டிங்கரைப் பயன்படுத்தி இந்த சிக்கலை சரிபார்க்கவும் முயற்சி செய்யலாம்:

>>>பொறாமை('DB_DATABASE')
=> ஏதுமில்லை
>>>getenv('DB_DATABASE')
=> பொய்
>>>கட்டமைப்பு(' தரவுத்தளம் . தொடர்புகள் mysql. தரவுத்தளம் ')
=>தொடை
>>>DD($ _ENV)
[]

பின்வரும் விஷயங்களைச் செய்வதும் ஒரு வித்தியாசத்தை ஏற்படுத்தாது என்பதை நீங்கள் அடிக்கடி பார்ப்பீர்கள். இருப்பினும், டெவலப்பர்கள் முற்றிலும் புதிய Laravel நிறுவலை இயக்கி, பழைய பயன்பாட்டு கோப்புறையை நகலெடுப்பதன் மூலம் தங்கள் உள்ளமைவை சோதிக்க முயற்சிக்கின்றனர். அவர்கள் எந்த இசையமைப்பாளர் தொகுப்பு நிறுவல்களையும் இயக்கவில்லை அல்லது வேறு எதையும் செய்ய மாட்டார்கள்.

நீங்கள் லினக்ஸில் இல்லாவிட்டால் (ஏன் என்று சிறிது நேரம் கழித்து சொல்கிறேன்), நீங்கள் எந்த மாற்றத்தையும் பார்க்க மாட்டீர்கள்.

தீர்வு

எப்போதும்போல, இந்த சிக்கலைத் தீர்க்க நீங்கள் செய்யக்கூடிய பல விஷயங்கள் உள்ளன, ஆனால் அவற்றில் சில வெற்றிபெற வாய்ப்புள்ளது.

உங்கள் உள்ளமைவு தற்காலிக சேமிப்பை அழிக்கவும்

முதலில், உங்களிடம் இல்லையென்றால், நீங்கள் வேறு எதையும் செய்வதற்கு முன் உங்கள் கட்டமைப்பு தற்காலிக சேமிப்பை அழிக்க வேண்டும்.

இப்போதெல்லாம் எங்கள் நூலகம் பல நூலகங்களைப் பயன்படுத்துவதால், இயக்க நேரத்தில் அவற்றை விரைவாக அணுகுவதற்காக விஷயங்களை தற்காலிகமாக சேமித்து வைக்க வேண்டிய கட்டாயத்தில் உள்ளோம்.

விண்டோஸ் மற்றும் மேக்கில் எனக்கு தனிப்பட்ட முறையில் பிரச்சனைகள் இருந்தன, இருப்பினும், சில காரணங்களால், லினக்ஸ் (உபுண்டு) இல் இந்த கட்டமைப்பு கோப்புகள் ஏதேனும் ஒரு கொக்கி மூலம் அழிக்கப்படுகின்றன அல்லது அவை கேச் செய்யப்படவில்லை, ஏனென்றால் என்னால் முடிந்தது பின்வருவனவற்றைச் செய்யாமல் புதிய .env மதிப்புகளுடன் விண்ணப்பத்தை மீண்டும் ஏற்றவும்.

பின்வரும் கட்டளைகளை இயக்குவதன் மூலம் உங்கள் கட்டமைப்பு தற்காலிக சேமிப்பை அழிப்பதை உறுதிசெய்க:

php கைவினைஞர் கட்டமைப்பு:தற்காலிக சேமிப்பு
php கைவினைஞர் கட்டமைப்பு:தெளிவான

உங்கள் .env கோப்பில் உள்ள காலி இடங்களை சரிபார்க்கவும்

அடுத்த தீர்வு உங்கள் .env கோப்பின் உள்ளே வெள்ளை இடைவெளிகளைக் கொண்டுள்ளது. பெரும்பாலான மக்கள் தோல்வியடைந்து, தலைமுடியை கிழிக்கத் தொடங்கினால் இது.

இதை தவறவிடுவது மிகவும் எளிது ஆனால் உங்கள் .env கோப்பில் இது போன்ற ஒரு உதாரணம்:

SITE_NAME=என் Laravel விண்ணப்பம்

வெள்ளை இடங்கள் .env கோப்பை சிதைக்கும் என்பதால் இது மட்டும் வேலை செய்யாது.

நீங்கள் செய்ய வேண்டியது உங்கள் மதிப்புகளை மேற்கோள்களுக்குள் போர்த்துவது:

SITE_NAME=என் Laravel விண்ணப்பம்

இந்த முறை எல்லாம் நன்றாக வேலை செய்ய வேண்டும்.

நீங்கள் மாற்றும் ஒவ்வொரு முறையும் உங்கள் கட்டமைப்பு தற்காலிக சேமிப்பை அழிக்க வேண்டும். நாம் முன்பு போலவே இதைச் செய்யலாம்:

php கைவினைஞர் கட்டமைப்பு:தற்காலிக சேமிப்பு
php கைவினைஞர் கட்டமைப்பு:தெளிவான