swoole 报错 API must be called in the coroutine

转自:https://www.baidu.com/link?url=GZ7WigQ6jUh8o7cRljJyVtDCe-D9EgUamo6zoGUYItw4kllX94-ZYhCpPD9dP2oOCQTmw2pFTger81lVrRtTJ_&wd=&eqid=ffd6b56500451a6b000000035d401a06

使用swoole开发项目,
有些地方遇到 must be called in the coroutine,
意思是需要在coroutine协程里运行。

swoole中的一些跟coroutine协程相关的接口,
必须要在协程中执行,
比如
Coroutine\Channel
Coroutine\Redis
Coroutine\MySQL

解决的办法就是把相关代码放到协程里去。

举个例子:

$db = new Swoole\Coroutine\MySQL();

会提示
must be called in the coroutine

把代码放到协程中去就行了

go(function() {
    $db = new Swoole\Coroutine\MySQL();
});

你可能感兴趣的:(swoole)