zoukankan      html  css  js  c++  java
  • Elasticsearch:Fatal error: Uncaught Error: Class PsrLogNullLogger

       在测试环境执行后台任务的时候碰到报错:PHP环境7.1.33

    Fatal error: Uncaught Error: Class Psr\Log\NullLogger not found in /var/www/vendor/elasticsearch/elasticsearch/src/Elasticsearch/ClientBuilder.php:540

        在本地环境执行正常,放到测试服务器上报找不到类。而这些类都是通过vendor加载的。解决办法在composer中添加psr/log配置,更新composer依赖。确保vendor\psr\log目录存在。

    #composer.json配置
    "php": "^7.0",
    "psr/log": "~1.0",
    "elasticsearch/elasticsearch": "^6.0"

        NullLogger is a class provided by psr/log which is a hard requirement for this package. If you want to install it without composer, the readme tells you to make sure to install dependencies。不过想一下为什么我这在本地开发能正常,放到测试环境才报这个错误呢?想想有一个可能,我本地的代码提交到仓库时是忽略了log目录的,因为根目录下的log存放的日志不用提交至仓库,而log是一个递归的排除,即psr下的log目录一开始就存在于我本地,只是没有提交仓库。于是我在本地将log目录改名发现也同样报Psr\Log\NullLogger的错误。说明并不是psr/log不存在,而是未提交到测试环境。因为psr/log目录理论上是在使用composer时自动就会加载的。

  • 相关阅读:
    Codeforces 754A Lesha and array splitting (搜索)
    浅入分析Linux
    MakeFile基本使用
    Mac 安装YCM
    Homebrew 配置
    虚拟机复制操作CentOS6导致eth0转为eth0以至于网络服务启动失败的解决方案
    Kickstart安装
    Linux编译安装MySQL
    Python源码读后小结
    编译原理小结
  • 原文地址:https://www.cnblogs.com/lxwphp/p/15452438.html
Copyright © 2011-2022 走看看