Php 用文件内容替换.env参数

Php 用文件内容替换.env参数,php,symfony,environment-variables,Php,Symfony,Environment Variables,安装依赖项时,我想用文件内容替换my.env中的参数 我在我的docker-compose.yml中的特定php容器下保存了以下内容: command: - /bin/sh - -c - | date +%s | sha256sum | base64 | head -c 32 > passphrase.txt openssl genrsa -out config/jwt/private.pem -aes256 -passout fil

安装依赖项时,我想用文件内容替换my.env中的参数

我在我的docker-compose.yml中的特定php容器下保存了以下内容:

command:
    - /bin/sh
    - -c
    - |
        date +%s | sha256sum | base64 | head -c 32 > passphrase.txt
        openssl genrsa -out config/jwt/private.pem -aes256 -passout file:passphrase.txt 4096
        openssl rsa -passin file:passphrase.txt -pubout -in config/jwt/private.pem -out config/jwt/public.pem
        composer install
        php bin/console --no-interaction doctrine:migrations:migrate
现在,当composer运行时,JWT_PASSPHRASE的参数应替换为PASSPHRASE.txt的内容:

###> lexik/jwt-authentication-bundle ###
# Key paths should be relative to the project directory
JWT_PRIVATE_KEY_PATH=config/jwt/private.pem
JWT_PUBLIC_KEY_PATH=config/jwt/public.pem
JWT_PASSPHRASE=???
JWT_TOKEN_TTL=3600
###< lexik/jwt-authentication-bundle ###
###>lexik/jwt身份验证包###
#键路径应相对于项目目录
JWT\u PRIVATE\u KEY\u PATH=config/JWT/PRIVATE.pem
JWT\u PUBLIC\u KEY\u PATH=config/JWT/PUBLIC.pem
JWT_密码短语=???
JWT_令牌_TTL=3600
###
可能吗

最好的,
Christian

我只是通过导出JWT_密码来解决这个问题。我不需要将密码短语写入文件

export JWT_PASSPHRASE=$(date +%s | sha256sum | base64 | head -c 32)
openssl genrsa -out config/jwt/private.pem -aes256 -passout pass:${JWT_PASSPHRASE}
openssl rsa -passin pass:${JWT_PASSPHRASE} -pubout -in ./config/jwt/private.pem -out ./config/jwt/public.pem

是的,删除命令并使用自定义入口点脚本。是的,这是一个解决方案。如何替换它?删除
命令
,添加
入口点
。很简单。伙计,你不知道我的环境是什么样子,也不知道我的容器是如何配置的,所以别胡说八道了。使用入口点会覆盖我正在使用的图像的默认入口点,这是我无法做到的。