symfony框架,错误 :The handler has to be specified to use a FingersCrossedHandler or BufferHandler or FilterHandler
symfony框架在使用php7.2的时候会有一个错误抛出:
Fatal error: Uncaught InvalidArgumentException: The handler has to be specified to use a FingersCrossedHandler or BufferHandler or FilterHandler in xxxxxxxxxxx\src\Symfony\Component\Config\Definition\BaseNode.php on line 313
Symfony\Component\Config\Definition\Exception\InvalidConfigurationException: Invalid configuration for path "monolog.handlers.main": The handler has to be specified to use a FingersCrossedHandler or BufferHandler or FilterHandler in
这个文件的函数是一个验证的闭包函数设置,抛出错误是因为count()函数 这个函数在7.2中不能用来统计字符串长度,如果用它来统计字符串长度它会抛出警告并返回1,这个错误可以直接找到报错的文件好像是一个叫configuration.php的文件将count()方法改成strlen(),但是如果用了monolog-bundle这个包,还是会报错。
报这个错一般会出现在低版本的monolog-bundle中:
解决方法:
将monolog-bundle升级到3.1.2或以上版本
下载地址:https://github.com/symfony/monolog-bundle/releases/tag/v3.1.2
下载后解压,将解压的包放到 vendor\symfony 路径下,或者重新安装一下指定版本
留言(0)