composer安装monolog需三步:先执行composer require monolog/monolog(php版本不匹配时指定^2.9),再在入口文件引入vendor/autoload.php,最后为logger实例添加handler(如streamhandler)并确保路径与权限正确。

Composer 安装 Monolog 不需要“教程”,只要执行一条命令,但很多人卡在 autoload 失败、版本冲突或日志不写入上。
composer require monolog/monolog 装不上?检查 PHP 版本和 Composer 源
Monolog 3.x 要求 PHP >= 8.1,2.x 支持到 PHP 7.2。如果你用的是 PHP 7.4,composer require monolog/monolog 默认会拉 3.x,直接报错:Your requirements could not be resolved。
- 查当前 PHP 版本:
php -v - 明确装 2.x:
composer require monolog/monolog:^2.9 - 国内用户如果卡在下载,先切源:
composer config -g repo.packagist composer https://packagist.phpcomposer.com(或阿里云镜像)
require 后 new Logger() 报 Class not found?确认 autoloader 生效
Composer 安装后不会自动加载类,必须引入生成的 autoloader。常见错误是只写了 new Monolog\Logger(),但没 require 'vendor/autoload.php'。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 入口脚本(如
index.php)开头必须有:require __DIR__ . '/vendor/autoload.php'; - 路径写错会导致静默失败——不是报错,而是后续
new Logger()直接 fatal error - IDE 可能提示类存在,但运行时找不到,基本就是 autoloader 没载入或路径不对
日志写不进文件?Handler 配置漏了或权限不对
Monolog 默认只创建 Logger 实例,不自动写日志。必须手动加 StreamHandler 或 RotatingFileHandler。
- 最简可用写法:
$logger->pushHandler(new Monolog\Handler\StreamHandler('php://stdout')); - 写文件要确保目录可写:
new Monolog\Handler\StreamHandler('/var/log/app.log')—— 先mkdir -p /var/log并chown www-data:www-data /var/log - 别用相对路径如
logs/app.log,除非你确认当前工作目录(getcwd())是你想的那一个
Monolog 的核心就三步:装、引、配 handler。最容易被忽略的是工作目录和文件权限,而不是代码逻辑本身。










