Exception: $_SESSION must be an array. But $_SESSION=false is not array. in /mnt/e/phpwork/subway-gatewaywoker/vendor/workerman/gateway-worker/src/BusinessWorker.php:424
Stack trace:
#0 : GatewayWorker\BusinessWorker->onGatewayMessage(Object(Workerman\Connection\AsyncTcpConnection), Array)
#1 /mnt/e/phpwork/subway-gatewaywoker/vendor/workerman/workerman/Connection/TcpConnection.php(658): call_user_func(Array, Object(Workerman\Connection\AsyncTcpConnection), Array)
#2 : Workerman\Connection\TcpConnection->baseRead(Resource id #69, 2, Resource id #69)
#3 /mnt/e/phpwork/subway-gatewaywoker/vendor/workerman/workerman/Events/Event.php(195): EventBase->loop()
#4 /mnt/e/phpwork/subway-gatewaywoker/vendor/workerman/workerman/Worker.php(2357): Workerman\Events\Event->loop()
#5 /mnt/e/phpwork/subway-gatewaywoker/vendor/workerman/gateway-worker/src/BusinessWorker.php(197): Workerman\Worker->run()
#6 /mnt/e/phpwork/subway-gatewaywoker/vendor/workerman/workerman/Worker.php(1488): GatewayWorker\BusinessWorker->run()
#7 /mnt/e/phpwork/subway-gatewaywoker/vendor/workerman/workerman/Worker.php(1318): Workerman\Worker::forkOneWorkerForLinux(Object(GatewayWorker\BusinessWorker))
#8 /mnt/e/phpwork/subway-gatewaywoker/vendor/workerman/workerman/Worker.php(1292): Workerman\Worker::forkWorkersForLinux()
#9 /mnt/e/phpwork/subway-gatewaywoker/vendor/workerman/workerman/Worker.php(509): Workerman\Worker::forkWorkers()
#10 /mnt/e/phpwork/subway-gatewaywoker/start.php(38): Workerman\Worker::runAll()
#11 {main}
Worker process terminated
worker exit with status 64000服務(wù)端在運(yùn)行一定時(shí)間后會(huì)出現(xiàn)busy情況,但是排查了一圈發(fā)現(xiàn)業(yè)務(wù)內(nèi)并沒有造成循環(huán)的問題。用文檔中的strace看了之后kill掉pid后就不busy了,但是報(bào)了這個(gè)問題,所以是不是這個(gè)問題導(dǎo)致進(jìn)程一直busy呢?如何解決呢?謝謝。
?
服務(wù)端中使用到session的地方就是這里,
這里是設(shè)置session和使用sessionGateway::setSession($client_id,);$device = Gateway::getsession($client_id);
看報(bào)錯(cuò)的意思是期待$_SESSION是一個(gè)數(shù)組,但是$_SESSION是false,估計(jì)你哪里設(shè)置了 $_SESSION = xxxx, xxxx的值是false導(dǎo)致的
在這個(gè)項(xiàng)目里面其實(shí)就只有我上面貼的這兩個(gè)地方在設(shè)置session。$_SESSION這個(gè)變量我并沒用使用到,后面我把Gateway::setSession和Gateway::getSession去掉了。就不會(huì)再出現(xiàn)這個(gè)busy問題了。