swoole提示must be called in the coroutine解决办法
swoole 2018-12-05 10:25:31

报错信息: 

1.png

 

解决方法:

PHP Code复制内容到剪贴板
  1. function getOneHjjcData(){  
  2.     global $MAXID;  
  3.   
  4.     go(function() use ($MAXID){  
  5.         echo $MAXID."\n";  
  6.   
  7.         $swoole_mysql = new Swoole\Coroutine\MySQL();  
  8.         $swoole_mysql->connect([  
  9.             'host' => MYSQL_HOST,  
  10.             'port' => MYSQL_PORT,  
  11.             'user' => MYSQL_USER,  
  12.             'password' => MYSQL_PASSWORD,  
  13.             'database' => MYSQL_DATABASE,  
  14.         ]);  
  15.         // 传输设备号是26的给联通  
  16.         $sql = "select * from widom_sb_hjjc_data where id > {$MAXID} and sb_id=26";  
  17.         $res = $swoole_mysql->query($sql);  
  18.         if($res){  
  19.             $MAXID = $res["id"];  
  20.         }  
  21.         echo $MAXID."\n";  
  22.         print_r($res);  
  23.     });  
  24.   
  25. }  
  26.   
  27. getOneHjjcData();  

 

最重要的一行:

PHP Code复制内容到剪贴板
  1. go(function() {  
  2.     $db = new Swoole\Coroutine\MySQL();  
  3. });  

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

 

本文来自于:http://www.yoyo88.cn/study/swoole/387.html

上一篇 备份
下一篇 返回列表
Powered by yoyo苏ICP备15045725号