2014-03-31 37 views
5

我的工作我的第一个Laravel应用程序,并试图排队的电子邮件使用Mail::queue发送电子邮件发送时命中一个奇怪的问题。Laravel 4.1邮件与beanstalkd司机排队 - “为反序列化数据不足”

我最初使用sync驱动程序,一切正常,但现在切换到beanstalkd驱动程序它停止发送我的电子邮件。

我的配置如下:

  • 的Ubuntu 13.10
  • Laravel 4.1
  • PHP 5.5.3
  • Beanstalkd 1.8通过apt-get
  • "pda/pheanstalk": "2.1.*"安装在composer.json

什T I已经注意到的是,每次我运行

$ php artisan queue:work 

我越来越:

[ErrorException]             
    Insufficient data for unserializing - 2570 required, 168 present 


queue:work [--queue[="..."]] [--delay[="..."]] [--force] [--memory[="..."]] [--sleep[="..."]] [--tries[="..."]] [connection] 

我已经试过选择redis驱动程序,这是不是给我的错误,那么清楚我的机器上运行pheanstalk有什么问题。

我试图在composer.json改变pheanstalk版本,但我仍然得到同样的问题,不管我似乎使用的版本。

问题是,似乎这个问题不是特别广泛的记录,并且错误信息并没有真正提供多少远在所有...

任何suggesions?

回答

0

Laravel序列化和加密它推到一个队列一切。您的应用程序加密密钥(app/config/app.php 'key')是否设置为非空值?

可以查询beanstalkd自己,看到越来越被推到队列中什么样的信息?您应该看到令人费解的字符串是这样的:

eyJpdiI6IlZwT1p6QkhXQ3BcL0lRUmlHXC9maE8xT2o5Rk1BSUtMM0d5SlRoKzcrSGNLTT0iLCJ2YWx1ZSI6Im02N05LQzNPamNZSmVpTW5kXC80NnkyWEl0RUFMZHFiQXo0VnlNYUlLUUQzSzUrZHNIS2Vlb1kxWkpRS1VFZm5SVERXeHduWEFQelE5SCtZbVBwRmk2QkJPTlB5ek1RNWpKM3JRTzBDSlB3N3orYmk5UmZwM0ZzNmlpVVdQWVdQNWtKSWVQVG5nK29MajcyM3VtTUdraE5SNXJXYUJyYUErb25iTUJGSzhQYms9IiwibWFjIjoiNGFmNjMwNjYxYzk4NmMyZTA2ZTZlMzAwZTBlZjZhMTA1OGM2NzAxNTBkNWUzYTA2MTY3NzNiMTU4NTRlMmEyOSJ9

该错误意味着你推弦可能是没有加密的,或者有什么东西推到队列中间多数民众赞成停止作业。如果没有别的,你可以搜索该异常的文本(“用于反序列化的数据不足”),它应该产生一个vendor/pda/pheanstalk的PHP文件,你可以试着弄清楚发生了什么。

0

你不能传递对象到视图的数据,因为laravel不能序列正确的它们,所以你只需要改变传递给视图像数组简单的数据结构的任何数据。