webman
phinx
env
config()
獲取配置 (獲取失敗)<?php
$conn = config('database.default');
$db = config('database.connections.' . $conn);
return [
"paths" => [
"migrations" => "database/migrations",
"seeds" => "database/seeds"
],
"environments" => [
"default_migration_table" => "phinx_migrations",
"default_environment" => "development",
"development" => [
"adapter" => $conn,
"host" => $db['host'],
"name" => $db['database'],
"user" => $db['username'],
"pass" => $db['password'],
"port" => $db['port'],
"charset" => 'utf8mb4',
"collation" => 'utf8mb4_general_ci',
"table_prefix" => $db['prefix'] ?? '',
],
]
];
getenv()
獲取配置 (獲取失敗)<?php
return [
"paths" => [
"migrations" => "database/migrations",
"seeds" => "database/seeds"
],
"environments" => [
"default_migration_table" => "phinx_migrations",
"default_environment" => "development",
"development" => [
"adapter" => 'mysql',
"host" => getenv('DB_HOST'),
"name" => getenv('DB_NAME'),
"user" => getenv('DB_USER'),
"pass" => getenv('DB_PWD'),
"port" => getenv('DB_PORT'),
"charset" => 'utf8mb4',
"collation" => 'utf8mb4_general_ci',
"table_prefix" => getenv('DB_PREFIX') ?? '',
],
]
];
$_ENV
獲取配置 (獲取成功)在看了env環(huán)境組件的倉(cāng)庫(kù) https://github.com/vlucas/phpdotenv 之后,通過readme介紹,用 $_ENV獲取成功( $_SERVER也可以,但getenv()仍無(wú)法獲取 )
<?php
// 加載env的配置
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
return [
"paths" => [
"migrations" => "database/migrations",
"seeds" => "database/seeds"
],
"environments" => [
"default_migration_table" => "phinx_migrations",
"default_environment" => "development",
"development" => [
"adapter" => 'mysql',
"host" => $_ENV['DB_HOST'],
"name" => $_ENV['DB_NAME'],
"user" => $_ENV['DB_USER'],
"pass" => $_ENV['DB_PWD'],
"port" => $_ENV['DB_PORT'],
"charset" => 'utf8mb4',
"collation" => 'utf8mb4_general_ci',
"table_prefix" => $_ENV['DB_PREFIX'] ?? '',
],
]
];
通過3次嘗試,總算從環(huán)境變量中獲取到了配置信息,但總感覺個(gè)中不足,因?yàn)槲腋扑]用第一種方法獲取,奈何不行。各位大佬有更好的方法請(qǐng)不吝賜教[抱拳][抱拳]
要在 return 前面加上下面這個(gè),意思是吧 當(dāng)前文件的 .env 文件配置放到 環(huán)境變量
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
收藏