环境变量没有被Laravel应用程序检测到


Environment variables are not being detected by Laravel Application

我想在谷歌云上部署我的应用程序,但遇到一些麻烦。

在我的app.yaml中我有

    env_variables:
# change these values as appropriate:
 DEVELOPMENT_DB_HOST: '***'
 DEVELOPMENT_DB_USERNAME: '***'
 DEVELOPMENT_DB_PASSWORD: '***'
 DEVELOPMENT_USER_DB_NAME: '***'
 PRODUCTION_CLOUD_SQL_INSTANCE: '****'
 PRODUCTION_DB_USERNAME: '***'
 PRODUCTION_DB_PASSWORD: '***'
 PRODUCTION_USER_DB_NAME: '***'

在我的database.php我有这个if子句:

if(isset($_SERVER['SERVER_SOFTWARE']) && strpos($_SERVER['SERVER_SOFTWARE'],'Google App    Engine') !== false) {
  $user_array = array(
        'driver'        =>  'mysql',
        'unix_socket'   =>  getenv('PRODUCTION_CLOUD_SQL_INSTANCE'),
        'host'          =>  '',
        'database'      =>  getenv('PRODUCTION_USER_DB_NAME'),
        'username'      =>  getenv('PRODUCTION_DB_USERNAME'),
        'password'      =>  getenv('PRODUCTION_DB_PASSWORD'),
        'charset'       =>  'utf8',
        'collation'     =>  'utf8_unicode_ci',
        'prefix'        =>  ''
    );
} else {
  $user_array = array(
        'driver'    => 'mysql',
        'host'      => getenv('DEVELOPMENT_DB_HOST'),
        'database'  => getenv('DEVELOPMENT_USER_DB_NAME'),
        'username'  => getenv('DEVELOPMENT_DB_USERNAME'),
        'password'  => getenv('DEVELOPMENT_DB_PASSWORD'),
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
    );
} 
当我试图在本地机器上运行migrate时,由于某些原因没有检测到

环境变量。是什么原因造成的

更新

这是我的终端显示的内容点击这里

在app.yaml中指定的环境变量只能在dev_appserver环境中使用和设置。我假设您正在使用标准的php-cgi来运行artisan,它不理解app.yaml.