changed predis to phpredis:获取分段错误

3df52oht  于 2021-06-08  发布在  Redis
关注(0)|答案(0)|浏览(228)

(代码在mac上进行本地测试)
我为redis创建了一个简单的测试,但不幸的是,它失败了 [1] 27996 segmentation fault :

// Config in App.php
// Had to rename Redis, because of the use of phpredis!
'RedisManager' => Illuminate\Support\Facades\Redis::class,

//Test unit
use Illuminate\Support\Facades\Redis;

/**@test */
public function it_can_set_a_dummy_value_in_redis()
{
    $value = 'Hello';

    Redis::set($this->cacheKey, $value, 'EX', 60);

    $this->assertEquals($value, Redis::get($this->cacheKey));
}

当命令 set 被解雇了。
我把代码通读到: Illuminate\Redis\Connections\PhpRedisConnection.php@command 我查了一下 $this->client 是:

Redis {#2278
  isConnected: true
  host: "127.0.0.1"
  port: 6379
  auth: null
  mode: ATOMIC
  dbNum: 0
  timeout: 0.0
  lastError: null
  persistentId: null
  options: {
    TCP_KEEPALIVE: 0
    READ_TIMEOUT: 0.0
    COMPRESSION: NONE
    SERIALIZER: NONE
    PREFIX: "local_database_"
    SCAN: NORETRY
  }
}

我检查连接:

dd($this->client->ping()); // it's true

但是,它在以下几点上失败了:

return parent::command($method, $parameters); //set is called

即使它是在一个尝试捕捉块,它不会显示在那里。。。
日志没有显示任何内容:
nginx:0个错误
php fpm:0个错误
redis公司:
2867:m 29 aug 2020 22:46:03.142*后台保存由pid 27498启动27498:c 29 aug 2020 22:46:03.145磁盘上保存的db 2867:m 29 aug 2020 22:46:03.306后台保存成功终止
所以即使是redis也能正常工作。
我不知道发生了什么事。当我换到predis时,一切正常!
我得到的唯一提示就是这根线。但自从我 ping() 是积水,应该管用吗?
有什么办法可以解决我的问题吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题