(代码在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()
是积水,应该管用吗?
有什么办法可以解决我的问题吗?
暂无答案!
目前还没有任何答案,快来回答吧!