Laravel 5.1中的级联配置无效

时间:2015-10-06 09:52:16

标签: php laravel configuration environment laravel-5.1

在Laravel 5.1中,我正在尝试设置特定于环境的配置。在本地和开发环境中,我的应用程序结构类似于典型的subversion分支。所以我有多个laravel并行安装。例如:

http://dev.domain/trunk/public/...
http://dev.domain/branches/branch1/public/...

要使用我的应用程序的所有这些不同版本,我需要动态配置,与“基本路径”相关,因此域和公用文件夹之间的部分。

我到目前为止所做的是将域名放在我的app.php中。我正在努力的是,如何或在何处设置,这个动态部分取决于您调用应用程序的子路径。

我尝试的是设置配置文件config/myapp/app.php。那将是我的生产配置,所以那里的配置参数看起来像这样(因为在生产中我会有这个子目录):

url_path_to_public = ''

现在,我想通过创建一个以我当前环境dev命名的子文件夹,然后用动态表达式覆盖此参数,将其级联到我的本地和开发环境。所以这看起来像:

'url_base_path_to_public' => strstr(str_replace($_SERVER['DOCUMENT_ROOT'], '', __FILE__), '/config/dev/myapp/app.php', true).'/public',

所以这个文件位于:

config/dev/myapp/app.php

由于某种原因,即使我在dev模式下运行我的应用程序,也未使用此参数。我期望配置级联该参数。 另一种方法是直接在特定于环境的配置文件.env中设置此信息,但在那里我不能使用上面提到的动态表达式。

我是否因为预期会像预期的那样工作而犯错?

1 个答案:

答案 0 :(得分:2)

在Laravel 5中,级联配置被弃用,转而支持dotenv。因此,您希望将环境设置为dev并让其读取config/dev/文件的行为不再存在。