我想在谷歌云上部署我的应用程序,但遇到一些麻烦。
在我的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.