PHP開源版同樣的token http請(qǐng)求正常返回,webscoket請(qǐng)求返回登錄過期 第一次啟動(dòng)正常,自動(dòng)斷開連接后重連錯(cuò)誤,redis連接錯(cuò)誤
think\exception\ErrorException: Redis::exists(): send of 75 bytes failed with errno=10054 遠(yuǎn)程主機(jī)強(qiáng)迫關(guān)閉了一個(gè)現(xiàn)有的連接。
in D:\ppp\CRMEB\crmeb\vendor\topthink\framework\src\think\cache\driver\Redis.php:102
Stack trace:
#0 [internal function]: think\initializer\Error->appError(8, 'Redis::exists()...', 'D:\\ppp\\CRMEB\\cr...', 102, Array)
#1 D:\ppp\CRMEB\crmeb\vendor\topthink\framework\src\think\cache\driver\Redis.php(102): Redis->exists('cache_68c3e63a7...')
#2 D:\ppp\CRMEB\crmeb\vendor\topthink\framework\src\think\Cache.php(184): think\cache\driver\Redis->has('7331c4a90165729...')
#3 [internal function]: think\Cache->has('7331c4a90165729...')
#4 D:\ppp\CRMEB\crmeb\vendor\topthink\framework\src\think\Facade.php(96): call_user_func_array(Array, Array)
#5 D:\ppp\CRMEB\crmeb\crmeb\services\CacheService.php(122): think\Facade::__callStatic('has', Array)
#6 D:\ppp\CRMEB\crmeb\app\services\system\admin\AdminAuthServices.php(68): crmeb\services\CacheService::has('7331c4a90165729...')
#7 D:\ppp\CRMEB\crmeb\crmeb\services\workerman\WorkermanHandle.php(42): app\services\system\admin\AdminAuthServices->parseToken('eyJ0eXAiOiJKV1Q...')
#8 D:\ppp\CRMEB\crmeb\crmeb\services\workerman\WorkermanService.php(80): crmeb\services\workerman\WorkermanHandle->login(Object(Workerman\Connection\TcpConnection), Array, Object(crmeb\services\workerman\Response))
#9 [internal function]: crmeb\services\workerman\WorkermanService->onMessage(Object(Workerman\Connection\TcpConnection), Array)
#10 D:\ppp\CRMEB\crmeb\vendor\workerman\workerman\Connection\TcpConnection.php(658): call_user_func(Array, Object(Workerman\Connection\TcpConnection), '{"type":"login"...')
#11 [internal function]: Workerman\Connection\TcpConnection->baseRead(Resource id #364)
#12 D:\ppp\CRMEB\crmeb\vendor\workerman\workerman\Events\Select.php(294): call_user_func_array(Array, Array)
#13 D:\ppp\CRMEB\crmeb\vendor\workerman\workerman\Worker.php(2357): Workerman\Events\Select->loop()
#14 D:\ppp\CRMEB\crmeb\vendor\workerman\workerman\Worker.php(1351): Workerman\Worker->run()
#15 D:\ppp\CRMEB\crmeb\vendor\workerman\workerman\Worker.php(1294): Workerman\Worker::forkWorkersForWindows()
#16 D:\ppp\CRMEB\crmeb\vendor\workerman\workerman\Worker.php(509): Workerman\Worker::forkWorkers()
#17 D:\ppp\CRMEB\crmeb\crmeb\command\Workerman.php(134): Workerman\Worker::runAll()
#18 D:\ppp\CRMEB\crmeb\vendor\topthink\framework\src\think\console\Command.php(210): crmeb\command\Workerman->execute(Object(think\console\Input), Object(think\console\Output))
#19 D:\ppp\CRMEB\crmeb\vendor\topthink\framework\src\think\Console.php(654): think\console\Command->run(Object(think\console\Input), Object(think\console\Output))
#20 D:\ppp\CRMEB\crmeb\vendor\topthink\framework\src\think\Console.php(313): think\Console->doRunCommand(Object(crmeb\command\Workerman), Object(think\console\Input), Object(think\console\Output))
#21 D:\ppp\CRMEB\crmeb\vendor\topthink\framework\src\think\Console.php(250): think\Console->doRun(Object(think\console\Input), Object(think\console\Output))
#22 D:\ppp\CRMEB\crmeb\think(19): think\Console->run()
#23 {main}