vlucas/phpdotenv 在config/log.php获取不到内容

liuqing

问题描述

线下docker环境能正常使用,但是换到以下环境就不行了.LOG_PRE打印是空值
求教一下

程序代码或配置

env 里配置 LOG_PRE=ABC
log.php配置
'default' => [
        'handlers' => [
            [
                'class' => Monolog\Handler\RotatingFileHandler::class,
                'constructor' => [
                    "/data/log/".env("LOG_PRE").".log",
                    7, //$maxFiles
                    Monolog\Logger::DEBUG,
                ],
                'formatter' => [
                    'class' => Monolog\Formatter\LineFormatter::class,
                    'constructor' => [null, 'Y-m-d H:i:s', true],
                ],
            ]
        ],
    ],

重现问题的步骤

.env 配置 LOG_PRE=ABC
config/log.php 获取 env("LOG_PRE")

操作系统环境及workerman/webman等具体版本

Ubuntu Server 22.04 LTS 64位
静态 PHP 8.0.30 (cli) (built: Aug 10 2023 13:00:54) ( NTS )

299 1 0
1个回答

human

查看php是否禁用putenv方法

  • liuqing 2024-08-15

    没有禁用

  • human 2024-08-15

    getenv 这样获取呢

  • liuqing 2024-08-15

    都试过了.var_dump可以打印出来,但是直接使用不行.

  • liuqing 2024-08-15

    Fatal error: Uncaught TypeError: Monolog\Handler\RotatingFileHandler::__construct(): Argument #1 ($filename) must be of type string, null given, called

×
🔝