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时自动就会加载的。

  • 相关阅读:
    二分排序之三行代码
    最短路径—Floyd算法
    最小生成树 Kruskal算法
    最小生成树-Prim算法
    最短路径之迪杰斯特拉(Dijkstra)算法
    C函数指针
    Linux进程的实际用户ID和有效用户ID
    C++ 之Boost 实用工具类及简单使用
    ELK之消息队列选择redis_kafka_rabbitmq
    Python文件操作
  • 原文地址:https://www.cnblogs.com/lxwphp/p/15452438.html
Copyright © 2011-2022 走看看