Ларавел не чита .енв датотеку након промене

Laravel Is Not Reading



Проблем

Ово је прилично чест проблем који се појављује међу новим програмерима Ларавела.

Многи људи покушавају да ажурирају своју .енв датотеку само да би видели да се приликом освежавања апликације вредности .енв конфигурације не приказују.







Оно што је још занимљивије је да ће се то често појављивати након надоградње ваше Ларавел верзије.



На пример, имали бисте ово у својој .енв датотеци:



ДБ_ДАТАБАСЕ=ларавелдб
ДБ_УСЕРНАМЕ=ларавелусер

Наравно, унутар датотеке цонфиг/датабасе.пхп имали бисте ово:





„Мискл“=> [
' база података '=>енв(„ДБ_ДАТАБАСЕ“,'бутина'),
'корисничко име'=>енв(„ДБ_УСЕРНАМЕ“,'бутина'),
]

форге овде означава подразумеване вредности. То значи да ће се ове вредности користити у случају да нисте дали своје ДБ_ДАТАБАСЕ и ДБ_УСЕРНАМЕ вредности унутар .енв датотеке. Ове информације ће вам ускоро бити од помоћи.

Сада знате како имате овај специфичан проблем ако наиђете на следећи изузетак:



ПДОЕкцептион: СКЛСТАТЕ[ХИ000] [1045]Приступ одбијен за корисника 'Лар'@'лоцалхост'
( Користећи Лозинка : НЕ )

Ово јасно показује да ваша апликација Ларавел повлачи подразумевану вредност из ваше цонфиг/датабасе.пхп датотеку, а не из вашег .енв.

Пре него што учините било шта друго, такође можете покушати да проверите овај проблем користећи пхп артисан тинкер:

>>>енв(„ДБ_ДАТАБАСЕ“)
=> нула
>>>гетенв(„ДБ_ДАТАБАСЕ“)
=> лажно
>>>цонфиг(' база података .цоннецтионс.мискл. база података ')
=>бутина
>>>дд($ _ЕНВ)
[]

Често ћете видети да ни следеће ствари неће направити разлику. Међутим, програмери покушавају да тестирају своју конфигурацију покретањем потпуно нове Ларавел инсталације и само копирањем старе фасцикле апликације. Не покрећу никакве инсталације пакета композитора нити раде било шта друго.

Осим ако сте на Линук -у (касније ћу вам рећи зашто), нећете видети никакве промене.

Решење

Као и увек, постоји много ствари које можете учинити да покушате да решите овај проблем, али неке од њих ће вероватно успети.

Очистите конфигурацијски кеш

Прије свега, ако нисте, морате очистити предмеморију конфигурације да бисте могли учинити било шта друго.

Будући да наш код данас користи толико библиотека, приморани смо да кеширамо ствари да бисмо им омогућили брз приступ током извођења.

Лично сам имао проблема са овим на Виндовс -у и Мац -у, међутим, приметио сам да се из неког разлога на Линук -у (Убунту) ове конфигурационе датотеке или бришу неком врстом удице или се уопште не кеширају, јер сам успео поново учитајте апликацију са новим .енв вредностима не радећи следеће.

Уверите се да сте обрисали предмеморију конфигурације покретањем следећих команди:

пхп артисан цонфиг:кеш
пхп артисан цонфиг:јасно

Проверите да ли има празних места у вашој .енв датотеци

Следеће решење је да у вашој .енв датотеци постоје размаци. И овај ако већина људи не успе и почне да чупа косу.

Врло је лако то пропустити, али као пример оно што бисте могли да имате у .енв датотеци је нешто попут овога:

НАЗИВ САЈТ=Моја апликација Ларавел

Ово само неће радити јер ће размаци оштетити .енв датотеку.

Оно што треба да урадите је да своје вредности унесете у наводнике овако:

НАЗИВ САЈТ=Моја апликација Ларавел

Овог пута све би требало да ради како треба.

Само побрините се да обришете своју предмеморију конфигурације сваки пут када унесете промену. То можемо учинити исто као и раније:

пхп артисан цонфиг:кеш
пхп артисан цонфиг:јасно