使用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();
});