[英]Laravel 5 environment is always 'Production' when it is infact 'Local'
我正在尝试设置两个环境:本地环境和生产环境。
到目前为止,我已经添加了一个bootstrap/environment.php
文件,它是:
$env = $app->detectEnvironment(array(
'local' => array('Ben'),
'staging' => array('staging.domain.org'),
'production' => array('domain.org'),
));
和两个.env
文件- .local.env
和.production.env
与不同的环境变量,例如: APP_ENV=local
和APP_DEBUG=true
。
我的笔记本电脑的主机名为Ben
。
我遇到的问题是php artisan env
总是返回Production
,因此,我无法加载我的应用程序。
此外,在production.env
文件中,如果我将APP_DEBUG
变量更改为 true 或 false,它不会对 Web 应用程序产生影响 - 它总是返回“哎呀,看起来好像出了点问题。”。
任何帮助将不胜感激。 谢谢你。
我有那个问题。 我正在使用Laravel 5.2.14和宅基地。 我修复了添加此行的问题:
'env' => env('APP_ENV', 'production'),
在文件中: config\\app.php
我从以前的版本升级了我的Laravel应用程序,该版本不包含该行或者至少我没有。 最新文件版本:
https://github.com/laravel/laravel/blob/master/config/app.php
bootstrap/environment.php
文件不再在Laravel 5.1中加载。 Laravel根据环境不加载不同的env
文件。
Laravel现在只加载一个.env
文件。 此文件不应位于版本控制中。 对于生产服务器,您只需将不同的值放入.env
文件即可。
有关更多信息,请阅读文档 。
这让我在Laravel 5中出了问题。我修复它的方法是在bootstrap / app.php的末尾添加以下内容:
$app->detectEnvironment(function () use($app) {
$env = env('APP_ENV', 'local');
$file = ".env.{$env}";
$app->loadEnvironmentFrom($file);
});
然后为每个环境添加文件,例如.env.local,.env.production等。
您现在可以通过设置APP_ENV环境变量来切换环境文件。 如果未设置APP_ENV,则代码默认为“.env.local”。 测试这适用于:
$ APP_ENV=production ./artisan env
Current application environment: production
$ ./artisan env
Current application environment: local
运行phpunit时,Laravel会自动将APP_ENV设置为'testing'(特别是在Foundation / Testing / TestCase类中),因此如果要在运行测试时使用不同的数据库设置等,请确保您有'.env.testing'文件。
转到 Laravel 中的 .env 文件并设置
PAYTM_ENVIRONMENT=production
PAYTM_MERCHANT_ID={// Your production MID}
PAYTM_MERCHANT_KEY={// Your production Merchant key}
PAYTM_MERCHANT_WEBSITE=DEFAULT
PAYTM_CHANNEL=WEB
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.