2015-10-06 40 views
0

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

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

要与我的应用程序这一切diffent版本我不知需要动态配置,关系到“基本路径”,因此域和公用文件夹之间的部分工作。

我到目前为止所做的是将域名放在我的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中设置此信息,但我不能使用上述动态表达式。

我是否在使用cascation时出现错误?

回答

2

在Laravel 5中,级联配置因为dotenv而下降。因此,您期望将环境设置为dev并让其读取config/dev/文件的行为不再存在。

+0

好吧,但我的“动态”路径配置在哪里? – patriziotomato

+0

刚刚找到相关主题:http://stackoverflow.com/questions/27343021/laravel-5-configuration-environments-and-overriding – patriziotomato