启动包含redis的心跳后报错,第一次用不大明白

0

启动的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属于第一次使用,诸多不大明白的地方

已邀请:

walkor

赞同来自:

workerman不知道你的RedisCluster类文件在哪里,你可以自己require 进来,或者自己弄个autoloader自动加载

thinkInPhp - 80后程序

赞同来自:

@walkor 那问下,我这个错误的抛出是因为没有引用这个类所在的路径造成的?引用进来后,又出现其他的错误。纠结~

walkor

赞同来自:

补充下php基础知识吧,
看下命名空间和自动加载部分,不然你永远不懂

evilk

赞同来自:

推荐使用 composer autoload

要回复问题请先登录注册