国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

phinx.php獲取.env環(huán)境變量中的配置

lee23

webman phinx env

開發(fā)過程中,按webman文檔推薦的數(shù)據(jù)遷移工具phinx,進(jìn)行了安裝。安裝完成后,不想把根目錄下的配置文件phinx.php寫死,于是乎進(jìn)行了一些嘗試:

嘗試一:用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)不吝賜教[抱拳][抱拳]

2931 5 3
5個(gè)評(píng)論

mincon

收藏

  • 暫無(wú)評(píng)論
tzhack

你的嘗試二,有沒有裝vlucas/phpdotenv?

composer require vlucas/phpdotenv
  • 暫無(wú)評(píng)論
etree

php.ini檢查 putenv函數(shù)是否被禁用

  • 暫無(wú)評(píng)論
weijer

直接用這個(gè) https://github.com/webman-micro/migrations

截圖

php webman 查看命令

要在 return 前面加上下面這個(gè),意思是吧 當(dāng)前文件的 .env 文件配置放到 環(huán)境變量

$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
  • 暫無(wú)評(píng)論
年代過于久遠(yuǎn),無(wú)法發(fā)表評(píng)論

lee23

320
積分
0
獲贊數(shù)
0
粉絲數(shù)
2023-04-01 加入
??