如何在 Laravel-4 中包含不同环境的自定义配置
Posted
技术标签:
【中文标题】如何在 Laravel-4 中包含不同环境的自定义配置【英文标题】:How to include custom config for different environment in Laravel-4 【发布时间】:2013-07-14 08:28:11 【问题描述】:$env = $app->detectEnvironment(array(
'local' => array('*.local'),
));
原始配置文件可以在我的本地环境中使用,例如database.php
、cache.php
等。但是我的自定义配置并没有在我的本地环境中使用。
有没有办法在上面添加我的自定义配置?
【问题讨论】:
我也想知道这个:D 你检查过这个答案吗? ***.com/q/13860283/1317935 是的,我知道了,但我的问题是,这里只使用 laravel 的默认配置,而不是自定义配置,我的自定义配置称为“hybridAuth”我放在那里 facebook auth、twitter auth 等 【参考方案1】:我知道这有点晚了,但它可能会帮助那些最终出现在这个线程中的人。要回答您加载自定义配置文件的问题,您可以找到更多详细信息here。我在文档中的任何地方都没有看到它,但是您只需在 config/
中使用您的环境名称创建一个新目录。将要覆盖的文件复制到新目录并编辑设置。当您在该文件中时,您还可以删除未被覆盖的所有内容。
【讨论】:
【参考方案2】:如果您在 Linux 和 Mac 上,您可以使用“主机名”终端命令确定您的“主机名”并在数组中使用它。
【讨论】:
【参考方案3】:首先,您需要定义什么是“本地”环境
$env = $app->detectEnvironment(array(
// everything that contains 'localhost' or '127.0.0.1'
// in URL will be considered to run in local env.
'local' => array('localhost', '127.0.0.1'),
));
然后,您需要在app/config
中创建名为local
的目录。如果要覆盖本地环境中的数据库设置。创建文件:app/config/local/database.php
并覆盖该文件中的设置,例如:
'connections' => array(
'mysql' => array(
'username' => 'otherUserName',
'password' => 'otherPassword',
),
),
在此文件中,您无需指定所有选项,只需指定与生产/基本配置不同的选项即可。
更多信息在官方docs
【讨论】:
"原始配置文件可以在我的本地环境中使用,如 database.php、cache.php 等。" 我在我的问题中说,我的问题是我在里面制作的自定义文件在配置文件夹中,它不会包含在环境更改中。还是谢谢 本地环境没有指定。尝试删除'*.',尝试'local' => array('localhost'),
,这对我有用!您用于本地访问应用程序的 URL 是什么?它的格式是否类似于http://subdomain.localhost/
?
@Andreyco 我需要定义我的计算机名称(对于工匠)和正确的域:'local' => array('*.dev', 'Eon.local'),
对于包这是:app/config/packages/author/package/environment/config.php
github.com/laravel/framework/issues/1255以上是关于如何在 Laravel-4 中包含不同环境的自定义配置的主要内容,如果未能解决你的问题,请参考以下文章
如何在我的自定义小部件模板中包含内置的 django 小部件模板?