首頁 > 後端開發 > php教程 > 用其他環境文件配置Laravel

用其他環境文件配置Laravel

Robert Michael Kim
發布: 2025-03-05 16:29:11
原創
581 人瀏覽過

Laravel允許您指定替代環境文件,繞過標準

文件。這對於測試特別有用,其中專用.env文件可以隔離測試配置。雖然並非總是必要的,但此功能通過利用.env.testing>環境變量來提供靈活性。 APP_ENV>

cli用法

最簡單的應用程序是將不同的環境文件與工匠命令或phpunit一起使用。 例如,使用

>文件,例如:.env.demo>

# Create .env.demo
cp .env .env.demo
echo "\nEXAMPLE_SETTING=demo" >> .env.demo

# Use the `demo` env
php artisan tinker --env=demo

# Or set APP_ENV
APP_ENV=demo php artisan tinker
登入後複製
laravel將優先考慮

.env.demo.env

>使用Configuring Laravel With Additional Environment Files而不是

.env.demo.env
>

>

phpunit和.env.testing

>對於Phpunit測試,默認值是使用.env。 但是,這可能導致與本地開發設置(尤其是有關數據庫)的衝突。 phpunit.xml提供數據庫配置,使用.env.testing提供了一種更清潔的方法。

>

設置phpunit.xmlAPP_ENV進行“測試”,促使Laravel在功能測試期間加載.env.testing

>
<env name="APP_ENV" value="testing"></env>
登入後複製

創建.env.testing並添加特定於測試的設置:

>
cp .env .env.testing
echo "\nEXAMPLE_SETTING=testing" >> .env.testing
登入後複製

驗證.env.testing已加載,將其添加到tests/Feature>中的測試中:

/**
 * A basic test example.
 */
public function test_the_application_returns_a_successful_response(): void
{
    logger('Which environment file is Laravel using?', [
        'file' => $this->app->environmentFile()
    ]);

    $response = $this->get('/');

    $response->assertStatus(200);
}
登入後複製

運行phpunit應該登錄:

<code>[2024-05-24 00:22:42] testing.DEBUG: Which environment file is Laravel using? {"file":".env.testing"}</code>
登入後複製

是否要版本控制.env.testing(或使用示例.env.testing.example)是團隊的決定。 對於CI,建議使用測試數據庫等設置系統級環境變量。 有關更詳細的環境配置,請參閱官方的Laravel文檔。 要更深入地了解框架的實現,請檢查Laravel源代碼中的setEnvironmentFilePathcheckForSpecificEnvironmentFile方法。

>

以上是用其他環境文件配置Laravel的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板