Laravel 5 .env.travis 文件被忽略

Laravel 5 .env.travis file is ignored

我为 Travis CI 环境创建了一个新文件,如下所示

.env.travis

APP_ENV=travis 
APP_DEBUG=true 
APP_KEY=SomeRandomString

DB_HOST=127.0.0.1
DB_DATABASE=travis
DB_USERNAME=travis
DB_PASSWORD=

CACHE_DRIVER=file
SESSION_DRIVER=file

而且这个 env 文件似乎被忽略了。

我测试了使用此内容

创建新控制台class
public function fire()
{
    //
    echo env('APP_ENV') ."\n";
    echo "Database ". env('DB_DATABASE') ."\n";
    echo "Username ". env('DB_USERNAME') ."\n";
}

当我运行命令时我得到这个输出

➤ ./artisan env:database --env=travis
local
Database forge
Username forge

知道为什么环境文件会被忽略吗?

我找到了使用 travis env 文件的方法。

这有点麻烦,但这样您就可以将 .env 文件与 .env.travis 文件分开

只需 运行 复制命令即可用您的 .env.travis 文件覆盖 .env 文件.travis.yml 配置

before_script:
    - cp .env.travis .env

如果像我一样的人在这里看到完整的配置文件并复制过去,这里有一个完整的 travis 配置文件,可以很好地与 Laravel 5 配合使用。*

.travis.yml

language: php

php:
  - 5.5.9
  - 5.6
  - 7.0
  - hhvm

matrix:
    allow_failures:
        - php: hhvm

before_script:
- cp .env.travis .env
- mysql -e 'create database homestead;'
- composer self-update
- composer install --prefer-source --no-interaction --dev
- php artisan migrate
- php artisan db:seed

script: vendor/bin/phpunit

确保你有 .env.travis