@EVOSandru6

Почему не получается в Laravel 5.6 на linux получить env пременные через env('VAR_NAME')?

Добрый день,

Не могу получить доступ к переменным в файле .env напрямую. Строковые данные без кавычек.

Фрагмент файла:

COMPOSE_PROJECT_NAME=app

APP_NAME=string
APP_ENV=local
APP_KEY=base64:string/string/string=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost

DEBUGBAR_ENABLED=false

DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=string
DB_USERNAME=postgres
DB_PASSWORD=postgres

BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
SESSION_LIFETIME=120
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=string
MAIL_PASSWORD=string
MAIL_ENCRYPTION=null

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=

SMSC_DRIVER=string.com
SMSC_KZ_LOGIN=string@string.com
SMSC_KZ_PASSWORD=string
SMSC_KZ_URL=https://string.string/string/string.php


Сам сайт работает, и данные например подключения базы должны тянутся отсюда.

Ибо в файле /var/www/sitename/config/database.php pgsql я не трогал:

...
'pgsql' => [
            'driver' => 'pgsql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '5432'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'charset' => 'utf8',
            'prefix' => '',
            'schema' => 'public',
            'sslmode' => 'prefer',
        ],
...


На любую попытку получить значение переменной, ловлю null:

Route::get('/test-mail',function (MailerInterface $mailer) {
    dump(env('MAIL_HOST'));
    dump(env('APP_NAME'));
    dump(config('APP_NAME'));
});


Почему не могу получить доступ к данным переменным и почему база при этом мне подвластна?
  • Вопрос задан
  • 324 просмотра
Решения вопроса 1
v_decadence
@v_decadence
php artisan config:clear
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы