2015-10-20 3 views
1

Я включил свой ckeditor with ckfinder 3, который имеет возможность хранить файлы в облаке Amazon S3.Доступ к переменным .env вне приложения Laravel

В моем файле ckfinder config.php, который находится в public/assets/plugins/ckfinder У меня есть жесткий ключ, секретный ключ, ведро и область, необходимые для соединения с облаком.

Но я хочу получить элементы конфигурации из файла .env.

До сих пор я попытался это в config.php ckfinder в:

require $_SERVER['DOCUMENT_ROOT'].'/../bootstrap/autoload.php'; 
$app = require $_SERVER['DOCUMENT_ROOT'].'/../bootstrap/app.php'; 
var_dump($app->environment('S3_KEY'); 

Но это терпит неудачу с ошибкой: Fatal error: Uncaught exception 'ReflectionException' with message 'Class env does not exist' in /home/vagrant/projects/dk/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 779

Таким образом, вопрос, как я получить доступ к переменным окружения вне Laravel приложения?

Спасибо!

ответ

1

У меня также были проблемы с этим. Я не уверен, что это лучший способ сделать это, но он работает.

  1. Требовать автозагрузчику
  2. Загрузить файл .env в Dotenv
  3. Reference ваша переменная

Вот код:

// update the paths depending on where the script is 
require_once __DIR__.'/../bootstrap/autoload.php'; 
Dotenv::load(__DIR__.'/..'); 
$dbHost = Dotenv::findEnvironmentVariable('DB_HOST'); 
0
<?php 
$_ENV = array(); 
$handle = fopen(".env", "r"); 
if($handle) { 
    while (($line = fgets($handle)) !== false) { 
     if(strpos($line,"=") !== false) { 
     $var = explode("=",$line); 
     $_ENV[$var[0]] = trim($var[1]); 
     } 
    } 
    fclose($handle); 
} else { die('error opening .env'); } 
?> 
0

Я нашел это решение с Laravel 5.x с пакетом phpdotenv, insta lled by composer require vlucas/phpdotenv:

require __DIR__.'/../vendor/autoload.php'; //Load composer autoload 
$dot = new \Dotenv\Dotenv(__DIR__.'/../'); //Location of .env 
$dot->load(); //Load the configuration (Not override, for override use overload() method 
$url = getenv('APP_URL'); // Get var value 
Смежные вопросы