现在,Composer.phar更新会导致MonologBu​​ndle出现ErrorException

时间:2013-04-02 08:00:51

标签: symfony symfony-2.2 monolog

symfony / symfony v2.2.0
monolog / monolog v1.4.1

昨天运行composer.phar update后,monolog被更新了;今天运行相同的命令会导致以下错误消息:

Loading composer repositories with package information
Updating dependencies (including require-dev)
Generating autoload files

  [ErrorException]
  Warning: constant(): Couldn't find constant Monolog\Logger::DEBUG in [path]\vendor\symfony\monolog-bundle\Symfony\Bundle\MonologBundle\DependencyInjection\MonologExtension.php line 109

(我认为)config_dev.yml的相关部分

monolog:
    handlers:
        main:
            type:  stream
            path:  %kernel.logs_dir%/%kernel.environment%.log
            level: debug
        firephp:
            type:  firephp
            level: info

是否有需要进行其他配置的更改,或者是否发生了其他事情?

3 个答案:

答案 0 :(得分:15)

Monolog最近改用PSR-4兼容自动加载。可能, 你正在运行的Composer版本太旧了。请跑 composer首先自我更新并尝试再次更新您的依赖项。

答案 1 :(得分:0)

听起来更新不顺利 - 你在vendor/monolog/monolog/src/Monolog/Logger.php中有一个Logger类吗?如果不是,我建议删除vendor/monolog目录并运行composer install以恢复它。

答案 2 :(得分:0)

我有同样的事情,但对于 Laravel

我通过创建app/storage文件夹及其所有子文件夹和文件来解决它。

我通过创建一个新的空项目来获取它们,而只是复制粘贴!

现在开车......

这是文件结构:

app/storage/cache  
app/storage/logs  
app/storage/meta  
app/storage/sessions  
app/storage/views  

您可以忽略存储库的此文件夹。