【问题标题】:Cascading configuration in Laravel 5.1 is not workingLaravel 5.1 中的级联配置不起作用
【发布时间】:2016-01-03 04:34:50
【问题描述】:

在 Laravel 5.1 中,我正在尝试设置特定于环境的配置。在本地和开发环境中,我的应用程序结构类似于典型的颠覆分支。所以我并行安装了多个 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 中设置此信息,但我不能使用上述动态表达式。

我是否犯了级联错误以按预期工作?

【问题讨论】:

    标签: php laravel configuration environment laravel-5.1


    【解决方案1】:

    在 Laravel 5 中,级联配置被放弃,取而代之的是 dotenv。因此,您期望将环境设置为 dev 并让它读取 config/dev/ 文件的行为不再存在。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-22
    • 1970-01-01
    • 1970-01-01
    • 2016-07-22
    • 2016-01-28
    • 2016-10-20
    • 2017-02-27
    • 2015-11-19
    相关资源
    最近更新 更多