webman 启动命令如何设置环境变量

Caesar-Tang

问题描述

在应用的 .env 中,配置了开发和生产环境的信息。期望在启动命令中,设置环境变量,使可以动态的配置应用环境。

  1. .env 文件配置。如:
    APP_ENV = DEV

    DEV_DB_HOST = localhost
    DEV_DB_PORT = 3306
    DEV_DB_USERNAME = root
    DEV_DB_PASSWORD = 'root'
    DEV_DB_DATABASE = test_db
    DEV_DB_CHARSET = utf8mb4
    DEV_DB_COLLATION = utf8mb4_unicode_ci

    PROD_DB_HOST =
    PROD_DB_PORT =
    PROD_DB_USERNAME =
    PROD_DB_PASSWORD =
    PROD_DB_DATABASE =
    PROD_DB_CHARSET =
    PROD_DB_COLLATION =

  2. 期望在启动命令中,设置环境变量,使可以动态的配置应用环境。如:
    php start.php start --APP_ENV=DEV

    php start.php start --APP_ENV=PROD

为此你搜索到了哪些方案及不适用的原因

若 docker 部署,通过 docker 运行命令的 -e,可以满足上述要求,但期望能从 webmna 的启动命令中得到支持。

547 1 0
1个回答

efnic

start.phpsupport\App::run();之前,加入你自己的逻辑,解析$argv参数,读对应的env然后put;
示例:

putenv("$name=$value");
🔝