symfony 5.3 日志文件无法在追加模式下打开:无法打开流docker

问题描述

我有一个使用 monolog 配置的旋转日志文件,它的工作原理很吸引人,突然我收到错误消息,指出无法创建文件,当前端调用我的 symfony 后端时,该后端在 alpine docker 容器中运行。 在运行我的 PHPunit 测试时创建日志文件根本不会造成任何问题。

这是我的 monolog 配置,没有改变:

monolog:
    handlers:
        frontend:
            type: rotating_file
            path: "%kernel.logs_dir%/%kernel.environment%.frontend.log"
            level: error
            channels: [ frontend ]
            max_files: 3
        main:
            type: rotating_file
            path: "%kernel.logs_dir%/%kernel.environment%.log"
            level: debug
            channels: [ "!event","!frontend","!deprecation"  ]
            max_files: 3
        console:
            type: console
            process_psr_3_messages: false
            channels: [ "!event","!doctrine","!console","!deprecation" ]

我所做的是禁用会话,这应该不会影响系统是否能够创建用于写入的文件

为什么我的服务器不能再写入日志文件

我对日志文件夹的权限增加到 777,服务器在其容器中以“root”身份运行:

e9dffe459185:/var/www/var# ll
total 8
drwxrwxr-x    6 root     root           192 Jul 22 15:07 ./
drwxr-xr-x   51 root     root          1632 Jul 23 10:16 ../
drwxrwxr-x    4 root     root           128 Jul 23 11:01 cache/
drwxrwxrwx    3 root     root            96 Jul 23 11:02 log/

解决方法

看来问题已通过更新 monolog 得到解决:

Updating dependencies
Lock file operations: 0 installs,1 update,0 removals
  - Upgrading monolog/monolog (2.3.1 => 2.3.2)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs,0 removals
  - Downloading monolog/monolog (2.3.2)
  - Upgrading monolog/monolog (2.3.1 => 2.3.2): Extracting archive

看起来 2.3.1 版本有问题。升级后我没有再遇到其他问题。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...