使用rageframe2框架加swoole开发的平台和线下机器交互,线下机器会向服务器推送数据。线下机器在每天会在夜里2点钟定时重启,重启之后就无法与服务器连接,报错 “mb_strlen() expects parameter 1 to be string, array given”,必须手动重启swoole。以下是错误日志:
2020-09-27 02:01:10 修改fd信息:-----mb_strlen() expects parameter 1 to be string, array given^M
2020-09-27 02:01:10 修改fd信息:-----mb_strlen() expects parameter 1 to be string, array given^M
2020-09-27 02:01:10 修改fd信息:-----mb_strlen() expects parameter 1 to be string, array given^M
2020-09-27 02:01:10 yii\db\Exception Object
(
[errorInfo] => Array
(
)
[message:protected] => Received illegal data from redis: ated_at
Redis command was: EVAL local allpks=redis.call('LRANGE','cabinet_fd',0,-1)
local pks={}
local n=0
local v=nil
local i=0
local key='cabinet_fd'
for k,pk in ipairs(allpks) do
local cfd0=redis.call('HGET','cabinet_fd' .. ':a:' .. pk, 'fd')
if cfd0=='146' then
i=i+1
if i>0 then
do return redis.call('HGETALL','cabinet_fd:a:' .. pk) end
end
end
end
return pks 0
[string:Exception:private] =>
[code:protected] => 0
[file:protected] => /www/wwwroot/power/vendor/yiisoft/yii2-redis/src/Connection.php
[line:protected] => 856
[trace:Exception:private] => Array
(
[0] => Array
(
[file] => /www/wwwroot/power/vendor/yiisoft/yii2-redis/src/Connection.php
[line] => 851
[function] => parseResponse
[class] => yii\redis\Connection
[type] => ->
[args] => Array
(
[0] => Array
(
[0] => EVAL
[1] => local allpks=redis.call('LRANGE','cabinet_fd',0,-1)
local pks={}
local n=0
local v=nil
local i=0
local key='cabinet_fd'
for k,pk in ipairs(allpks) do
local cfd0=redis.call('HGET','cabinet_fd' .. ':a:' .. pk, 'fd')
if cfd0=='146' then
i=i+1
if i>0 then
do return redis.call('HGETALL','cabinet_fd:a:' .. pk) end
end
end
local pks={}
local n=0
local v=nil
local i=0
local key='cabinet_fd'
for k,pk in ipairs(allpks) do
local cfd0=redis.call('HGET','cabinet_fd' .. ':a:' .. pk, 'fd')
if cfd0=='146' then
i=i+1
if i>0 then
do return redis.call('HGETALL','cabinet_fd:a:' .. pk) end
end
end
local pks={}
local n=0
local v=nil
local v=nil
local i=0
local key='cabinet_fd'
for k,pk in ipairs(allpks) do
local cfd0=redis.call('HGET','cabinet_fd' .. ':a:' .. pk, 'fd')
if cfd0=='146' then
i=i+1
if i>0 then
do return redis.call('HGETALL','cabinet_fd:a:' .. pk) end
end
end
local pks={}
local n=0
local v=nil
local i=0
local key='cabinet_fd'
for k,pk in ipairs(allpks) do
local cfd0=redis.call('HGET','cabinet_fd' .. ':a:' .. pk, 'fd')
if cfd0=='146' then
i=i+1
if i>0 then
do return redis.call('HGETALL','cabinet_fd:a:' .. pk) end
end
end
2020-09-27 02:01:10 修改fd信息:-----mb_strlen() expects parameter 1 to be string, array given^M 2020-09-27 02:01:10 修改fd信息:-----mb_strlen() expects parameter 1 to be string, array given^M 2020-09-27 02:01:10 修改fd信息:-----mb_strlen() expects parameter 1 to be string, array given^M 2020-09-27 02:01:10 yii\db\Exception Object ( [errorInfo] => Array ( )
Redis command was: EVAL local allpks=redis.call('LRANGE','cabinet_fd',0,-1) local pks={} local n=0 local v=nil local i=0 local key='cabinet_fd' for k,pk in ipairs(allpks) do local cfd0=redis.call('HGET','cabinet_fd' .. ':a:' .. pk, 'fd')
end return pks 0 [string:Exception:private] => [code:protected] => 0 [file:protected] => /www/wwwroot/power/vendor/yiisoft/yii2-redis/src/Connection.php [line:protected] => 856 [trace:Exception:private] => Array ( [0] => Array ( [file] => /www/wwwroot/power/vendor/yiisoft/yii2-redis/src/Connection.php [line] => 851 [function] => parseResponse [class] => yii\redis\Connection [type] => -> [args] => Array ( [0] => Array ( [0] => EVAL [1] => local allpks=redis.call('LRANGE','cabinet_fd',0,-1) local pks={} local n=0 local v=nil local i=0 local key='cabinet_fd' for k,pk in ipairs(allpks) do local cfd0=redis.call('HGET','cabinet_fd' .. ':a:' .. pk, 'fd')
end return pks [2] => 0 )
local pks={} local n=0 local v=nil local i=0 local key='cabinet_fd' for k,pk in ipairs(allpks) do local cfd0=redis.call('HGET','cabinet_fd' .. ':a:' .. pk, 'fd')
end return pks [2] => 0 )
local pks={} local n=0 local v=nil local v=nil local i=0 local key='cabinet_fd' for k,pk in ipairs(allpks) do local cfd0=redis.call('HGET','cabinet_fd' .. ':a:' .. pk, 'fd')
end return pks [2] => 0 )
local pks={} local n=0 local v=nil local i=0 local key='cabinet_fd' for k,pk in ipairs(allpks) do local cfd0=redis.call('HGET','cabinet_fd' .. ':a:' .. pk, 'fd')
end return pks [2] => 0 )
$4^M EVAL^M $371^M