[英]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.