Hom*_*ien 15 php environment-variables production-environment test-environments laravel
我对Laravel环境工作的理解是,您在不同的环境中拥有不同的环境.因此,如果您在本地运行应用程序,则可以拥有一个.env.local文件.如果您正在测试或正在进行生产,您可以使用.env.testing或.env.production.(如果我错了,请纠正我.)
默认情况下,我们获取.env可以编辑的文件.但任何人都可以告诉我在Laravel中改变环境的工作流程是什么.我尝试了文档,但我无法得到它.请帮我.
Moh*_*iri 26
当您安装Laravel 5.1时,您将获得两个文件.env,.env.example
如果您想在本地工作,则设置:
APP_ENV=local
APP_DEBUG=true
Run Code Online (Sandbox Code Playgroud)
在prod你设置
APP_ENV=production
APP_DEBUG=false
Run Code Online (Sandbox Code Playgroud)
调试模式下的错误消息

来自生产模式的错误消息

注意:你有两个.env文件.env和.env.example..你也可以创建另一个你命名的文件.env.production但请记住,为了加载你的配置,你必须只需将文件重命名为.env
编辑:所以,如果您仍在本地工作,并且您需要另一个数据库进行测试,您可以创建另一个文件,因此总共有3个.env文件:
.env.production
.env.local1
.env.local2
Run Code Online (Sandbox Code Playgroud)
无论何时您想切换配置,只需将所需文件重命名为.env即可
自从Laravel 5以来.env.local.php,.env.production.php已经弃用了这个想法.现在,在L5中,我们有单个.env文件,您可以在其中存储所有环境配置.要定义您的环境,您应该放入APP_ENV=local此文件.
在生产中部署项目后,您将.env在服务器上创建文件并进行定义APP_ENV=production
如果您使用像Laravel Forge这样的服务,它会为您提供存储环境数据的简单方法.但那是另一个故事:)
要使用多个数据库连接,您可以执行以下操作:
在你的config/database.php文件中
<?php
return array(
'default' => env('DEFAULT_DB_CONNECTION', 'mysql'),
'connections' => array(
# Our primary database connection
'mysql' => array(
'driver' => 'mysql',
'host' => 'host1',
'database' => 'database1',
'username' => 'user1',
'password' => 'pass1'
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
# Our secondary database connection
'another_mysql' => array(
'driver' => 'mysql',
'host' => 'host2',
'database' => 'database2',
'username' => 'user2',
'password' => 'pass2'
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
),
Run Code Online (Sandbox Code Playgroud)
);
然后,在.env文件中放入另一个键
DEFAULT_DB_CONNECTION=another_mysql
Run Code Online (Sandbox Code Playgroud)
当然,这种预定义了你的联系.如果您想要动态,可以执行以下操作
$users = DB::connection('another_db_connection')->select('users somehow');
Run Code Online (Sandbox Code Playgroud)
这样,无论在您的环境中设置什么,您都可以从辅助mysql连接获得结果
| 归档时间: |
|
| 查看次数: |
17809 次 |
| 最近记录: |