laravel

Laravelas neskaito .env failas po pakeitimo

Laravelas neskaito .env failas po pakeitimo

Problema

Tai yra gana dažna problema, kuri atsiranda tarp naujų „Laravel“ kūrėjų.

Daugelis žmonių bandė atnaujinti savo .env failą, kad įsitikintumėte, jog atnaujinę savo programą .„env config“ vertės nerodomos.

Ir dar įdomiau yra tai, kad gana dažnai tai pasirodys atnaujinus „Laravel“ versiją.

Pavyzdžiui, jūs turėtumėte tai savo .env failas:

DB_DATABASE = laraveldb
DB_USERNAME = laraveluser

Tada natūraliai, konfigūracijos / duomenų bazės viduje.php failą, kurį turėtumėte:

'mysql' => [
'database' => env ('DB_DATABASE', 'lar'),
'vartotojo vardas' => env ('DB_USERNAME', 'lar'),
]

forge čia reiškia numatytąsias reikšmes. Tai reiškia, kad šios vertės bus naudojamos tuo atveju, jei nepateiksite savo DB_DATABASE ir DB_USERNAME vertybės jūsų viduje .env failas. Ši informacija bus šiek tiek naudinga.

Dabar, kai žinote, kad turite šią konkrečią problemą, yra tai, kad susidursite su šia išimtimi:

PDOIšimtis: SQLSTATE [HY000] [1045] Vartotojui „lar“ @ „localhost“ prieiga uždrausta
(naudojant slaptažodį: NE)

Tai aiškiai parodo, kad jūsų „Laravel“ programa iš jūsų pateikia numatytąją vertę konfigūracija / duomenų bazė.php failą, o ne iš jūsų .env .

Prieš ką nors darant, taip pat galite pabandyti patikrinti šią problemą naudodami „php“ amatininkų tinklą:

>>> env ('DB_DATABASE')
=> niekinis
>>> getenv ('DB_DATABASE')
=> klaidinga
>>> config ('duomenų bazė.jungtys.mysql.duomenų bazė ')
=> „Lar“
>>> dd ($ _ ENV)
[]

Dažnai pastebėsite, kad atlikus šį dalyką taip pat nebus jokio skirtumo. Tačiau kūrėjai bando išbandyti savo konfigūraciją paleisdami visiškai naują „Laravel“ diegimą ir tiesiog nukopijuodami seną programų aplanką. Jie neveikia jokių kompozitorių paketų diegimo ir nieko kito nedaro.

Nematysite jokių pakeitimų, nebent naudojate „Linux“ (kiek vėliau pasakysiu kodėl).

Sprendimas

Kaip visada, galite daug ką padaryti, kad pabandytumėte išspręsti šią problemą, tačiau tikėtina, kad keli iš jų pavyks.

Išvalykite konfigūracijos talpyklą

Pirmiausia, jei to nepadarėte, prieš atlikdami bet ką kitą, turite išvalyti konfigūracijos talpyklą.

Kadangi šiuo metu mūsų kodas naudoja tiek daug bibliotekų, esame priversti saugoti daiktus, kad per juos vykdytume greitai prieigą prie jų.

Aš asmeniškai turėjau problemų dėl to „Windows“ ir „Mac“, tačiau pastebėjau, kad dėl kažkokių priežasčių „Linux“ („Ubuntu“) šie konfigūracijos failai yra arba išvalomi su kažkokiu kabliu, arba jie iš viso nėra talpinami, nes aš galėjau perkraukite programą nauja .„env“ vertės neatliekant šių veiksmų.

Įsitikinkite, kad išvalėte konfigūracijos talpyklą, vykdydami šias komandas:

php amatininkų konfigūracija: talpykla
php amatininko konfigūracija: aišku

Patikrinkite, ar jūsų vietoje nėra tuščių vietų .env failas

Kitas sprendimas yra tas, kad jūsų viduje yra tarpų .env failas. Ir šitas, jei daugumai žmonių nepavyksta ir jie pradeda plėšti plaukus.

Tai labai lengva praleisti, bet kaip pavyzdį, ką galėtumėte turėti savo .„env“ failas yra maždaug toks:

SITE_NAME = Mano programa „Laravel“

Vien tai neveiks, nes tarpai sugadins .env failas.

Ką turite padaryti, tai apvyniokite savo vertes tokiose kabutėse:

SITE_NAME = „Mano„ Laravel “programa“

Šį kartą viskas turėtų veikti puikiai.

Tiesiog būtinai išvalykite konfigūracijos talpyklą kiekvieną kartą, kai atliksite pakeitimus. Tai galime padaryti taip pat, kaip ir anksčiau:

php amatininkų konfigūracija: talpykla
php amatininko konfigūracija: aišku
Pelės kairiuoju pelės mygtuku mygtukas neveikia „Windows 10“
Jei naudojate specialią pelę su savo nešiojamuoju kompiuteriu arba staliniu kompiuteriu, tačiau neveikia pelės kairysis mygtukas dėl tam tikrų priežas...
Žymeklis peršoka arba juda atsitiktinai, kai rašote „Windows 10“
Jei pastebite, kad pelės žymeklis peršoka arba juda pats, automatiškai, atsitiktinai, kai vedate „Windows“ nešiojamąjį kompiuterį ar kompiuterį, kai k...
Kaip pakeisti pelės ir jutiklinių plokščių slinkimo kryptį sistemoje „Windows 10“
Pelė ir Jutiklinė dalisTai ne tik palengvina skaičiavimus, bet ir efektyvesnį bei mažiau laiko reikalaujantį. Mes neįsivaizduojame gyvenimo be šių pri...