gpt4 book ai didi

本地和生产的 Laravel 环境文件可能无法按预期工作?

转载 作者:行者123 更新时间:2023-12-04 23:01:14 25 4
gpt4 key购买 nike

在 Laravel 4 中,我正在设置我的本地开发机器(我的笔记本电脑),然后我有了我的生产服务器。

在我的/bootstrap/start.php

$env = $app->detectEnvironment(array(

'local' => array('MacBook-Pro-2.local'),
'production' => array('ripken'),

));

然后我创建了一个 .env.local.php 在我的根目录中包含以下内容:
<?php

return [

// Database Connection Settings
'db_host' => '127.0.0.1',
'db_name' => 'censored',
'db_user' => 'censored',
'db_password' => 'censored'

];

那部分工作。但是,我去了我的生产服务器并创建了完全相同的文件,命名为 .env.production.php 它不会从该文件加载变量。我不知道是什么让我想到这样做,但我重命名了该文件 .env.php 名称中没有“生产”,它可以工作。

因此,我的问题是,为什么不 .env.production.php 工作?我认为这就是 Laravel 的好人希望我为我的各种环境文件命名的原因。

最佳答案

生产是“默认”规则集,所以它有点特殊。 Laravel 在加载生产时会寻找“基本”或“默认”规则,而不是实际的名称生产。

所以你可以改变

$env = $app->detectEnvironment(array(
'local' => array('MacBook-Pro-2.local'),
'production' => array('ripken'),
));


$env = $app->detectEnvironment(array(
'local' => array('MacBook-Pro-2.local'),
));

这样任何不是“MacBook-Pro-2.local”的东西都会自动生产。然后就使用默认的 .env.php用于生产设置。

其他每个 env 都需要明确定义 - 例如 .env.local.php .env.testing.php 等等

关于本地和生产的 Laravel 环境文件可能无法按预期工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23955481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com