请问一下,如果workerman想通过TP、CI之类的PHP框架来启用,但是框架里有部分配置文件使用了$_SERVER常量,CLI模式下获取不到$_SERVER会引起报错,这种是应该怎么处理?
class Mqtt extends CI_Controller {
public function index()
{
$worker = new Worker();
$worker->onWorkerStart = function(){
$mqtt = new Workerman\Mqtt\Client('mqtt://test.mosquitto.org:1883');
$mqtt->onConnect = function($mqtt) {
$mqtt->subscribe('hello');
};
$mqtt->onMessage = function($topic, $content){
var_dump($topic, $content);
};
$mqtt->connect();
};
Worker::runAll();
}
}
=======================================================
问题二
启动执行:
以上这种启动是结合CI框架的启动方式,应该怎么加参数才可以实现类似直接启动workerman的下面效果
php start.php start -d
========================================================
问题三
CI和workerman之间通讯除了使用队列,还有其他可以在CI里主动去调用或者触发workerman响应的方法么(这里提问的并非workerman和客户端之间的通讯)
自己找到了一个方法STDIN常量来判断是否CLI调用,来写入配置文件
第二个问题,看完Worker.php的源码,写了个控制器来暴力自己改传入的参数