laravel 队列实现 使用Beanstalk 报错
在使用队列时总报错
error":{"type":"Symfony\Component\Debug\Exception\FatalErrorException","message":"Class 'Pheanstalk_Pheanstalk' not found","file":"\/var\/www\/html\/fuxing\/vendor\/laravel\/framework\/src\/Illuminate\/Queue\/Connectors\/BeanstalkdConnector.php","line":16}}
BeanstalkdConnector.php里面是
我是参照官方文档写的
在模型里面是这样
在controller里面调用像这样`
我在这两个文件的开头都有加
为什么会报错呢?难道一定要像laravel自带的mail.php里面一样封装好对应的queue函数啊
这和官方网站上说好的不一样啊啊啊啊啊啊
求大神指点
error":{"type":"Symfony\Component\Debug\Exception\FatalErrorException","message":"Class 'Pheanstalk_Pheanstalk' not found","file":"\/var\/www\/html\/fuxing\/vendor\/laravel\/framework\/src\/Illuminate\/Queue\/Connectors\/BeanstalkdConnector.php","line":16}}
BeanstalkdConnector.php里面是
<?php namespace Illuminate\Queue\Connectors;
use Illuminate\Queue\BeanstalkdQueue;
use Pheanstalk_Pheanstalk as Pheanstalk;
class BeanstalkdConnector implements ConnectorInterface {
/**
* Establish a queue connection.
*
* @param array $config
* @return \Illuminate\Queue\QueueInterface
*/
public function connect(array $config)
{
$pheanstalk = new Pheanstalk($config['host']);
return new BeanstalkdQueue(
$pheanstalk, $config['queue'], array_get($config, 'ttr', Pheanstalk::DEFAULT_TTR)
);
}
}
我是参照官方文档写的
在模型里面是这样
public function first($job,$data)
{
$this->savefirst($data['user'], $data['keys'], $data['items'], $data['type']); //是模型里面写的处理工作的函数
$job->delete();
}
在controller里面调用像这样`
Queue::push('Timeline@first',array('user'=>$user,'items'=>$items,'type'=>$type,'keys'=>$keys));
我在这两个文件的开头都有加
use Illuminate\Queue\QueueManager;
use Illuminate\Queue\BeanstalkdQueue;
为什么会报错呢?难道一定要像laravel自带的mail.php里面一样封装好对应的queue函数啊
这和官方网站上说好的不一样啊啊啊啊啊啊
求大神指点
1 个回复
可燃冰
赞同来自: FiveSay
发现是Beanstalk版本的问题
原来composer里面require的是
估计那个分支可能不能用了
改成了
再更新下
就不会报这种错了