栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

laravel-admin+elasticsearch升级PHP到7.3的一些问题整理

laravel-admin+elasticsearch升级PHP到7.3的一些问题整理

项目中使用laravel-admin,版本为:5.3.31,是老版本了。但是最近要升级软件环境,将PHP版本由5.6.34升级到7.3.28,升级后引出一系列问题,其他问题逐一解决,基本都是些函数弃用的问题。

但是项目中用到elasticsearch,搜索时报错:{“error”:“Content-Type header [] is not supported”,“status”:406},出现问题后网上也搜了一下,大都是curl请求时需要增加头部信息,问题也确实出在这,但是解决方法大都是命令行, 如:curl -H “Content-Type: application/json” -XPOST。一般命令行请求确实可以解决。
ES中需要改动部分文件。
解决办法为:找到文件:
CODE-XXXvendorelasticsearchelasticsearchsrcElasticsearchConnectionsConnection.php
构造方法中参数初始化,增加Content-Type等参数,如下:

    public function __construct($handler, $hostDetails, $connectionParams,
                                SerializerInterface $serializer, LoggerInterface $log, LoggerInterface $trace)
    {
        if (isset($hostDetails['port']) !== true) {
            $hostDetails['port'] = 9200;
        }

        if (isset($hostDetails['scheme'])) {
            $this->transportSchema = $hostDetails['scheme'];
        }

        if (isset($hostDetails['user']) && isset($hostDetails['pass'])) {
            $connectionParams['client']['curl'][CURLOPT_HTTPAUTH] = CURLAUTH_BASIC;
            $connectionParams['client']['curl'][CURLOPT_USERPWD] = $hostDetails['user'].':'.$hostDetails['pass'];
        }

        
        //升级php7.3+后,es搜索报错:{"error":"Content-Type header [] is not supported","status":406}
        //请求时需增加头部信息即可
        $connectionParams['client']['curl'][CURLOPT_HTTPHEADER] =  ['Accept: application/json', 'Content-Type: application/json'];

        $host = $hostDetails['host'].':'.$hostDetails['port'];
        $path = null;
        if (isset($hostDetails['path']) === true) {
            $path = $hostDetails['path'];
        }
        $this->host             = $host;
        $this->path             = $path;
        $this->log              = $log;
        $this->trace            = $trace;
        $this->connectionParams = $connectionParams;
        $this->serializer       = $serializer;

        $this->handler = $this->wrapHandler($handler, $log, $trace);
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/670982.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号