启动的php代码大约如下:
<?php
require_once __DIR__ . '/Workerman/Autoloader.php';
use Workerman\Lib\Timer;
use Workerman\Worker;
$worker = new Worker('websocket://0.0.0.0:8484');
//worker实现心跳
$worker->onWorkerStart = function($worker) {
$worker->count = 2;//生成两个进程
$tmpredis = new RedisCluster();
$tmpredis->connect(array('host' => '127.0.0.1','port' => 6379), $isMaster = true);
$redisclient = $tmpredis->getRedis();
Timer::add(10, function()use($worker){//设置10秒的定时器
//查找心跳的redis数据
linux下启动后报错为:
2017-01-03 15:19:36 pid:14661 WORKER EXIT UNEXPECTED E_ERROR Class 'RedisCluster' not found in /home/wwwroot/default/commonpage/controller/wkman/WorkMan.php on line 12
2017-01-03 15:19:36 pid:14359 worker exit with status 65280
2017-01-03 15:19:36 pid:14662 WORKER EXIT UNEXPECTED E_ERROR Class 'RedisCluster' not found in /home/wwwroot/default/commonpage/controller/wkman/WorkMan.php on line 12
2017-01-03 15:19:36 pid:14359 worker exit with status 65280
2017-01-03 15:19:36 pid:14663 WORKER EXIT UNEXPECTED E_ERROR Class 'RedisCluster' not found in /home/wwwroot/default/commonpage/controller/wkman/WorkMan.php on line 12
12行的错误就是在new RedisCluster的时候抛出,这个类已经是存在的,请问是需要用require加路径来将这个类加载进来吗?
请知道的人帮下忙,workman属于第一次使用,诸多不大明白的地方
workerman不知道你的RedisCluster类文件在哪里,你可以自己require 进来,或者自己弄个autoloader自动加载
那问下,我这个错误的抛出是因为没有引用这个类所在的路径造成的?引用进来后,又出现其他的错误。纠结~
@walkor 那问下,我这个错误的抛出是因为没有引用这个类所在的路径造成的?引用进来后,又出现其他的错误。纠结~
补充下php基础知识吧,
看下命名空间和自动加载部分,不然你永远不懂
推荐使用 composer autoload