如何使用Symfony 2.1.x安装mmoreramarino/GearmanBundle



我是Symfony 2的新手,也是Gearman的新手。我正在寻找一个捆绑包,以集成Symfony 2与Gearman。

根据包装学家的说法,mmoreramarino的捆绑包似乎是最受欢迎的捆绑包。不幸的是,似乎有什么东西坏了,自动加载器找不到捆绑包。

Fatal error: Class 'MmoreramerinoGearmanBundleMmoreramerinoGearmanBundle' not found in ...

我试着切换到"开发",因为我从这个分支中修复了这个问题,但它对我也不起作用。

问题:如何使用Symfony 2.1.x安装此捆绑包?问题2:是否有工作&有记录的替代方案?

编辑如果其他人遇到这个问题:以下是我如何启动和运行它的!

  1. 安装gearman、libgearman和PHP的PECL扩展(使用最新版本!)
  2. 检查gearman是否显示在phpinfo()中(cli和webserver版本)
  3. 在终端1中使用"gearmand--verbose INFO"启动gearmand(您将看到工作人员和客户端连接到gearman-或不连接;-)
  4. 从gearmanphp扩展示例目录在终端2reverseworker.php中启动
  5. 从gearmanphp扩展示例目录在terminal 3 reverseClient.php中启动
  6. 如果这是有效的,那么您就可以使用Symfony了:使用"devdevelopment"安装mmoreramino/GearmanBundle
  7. 将捆绑包中的dev.base.yml复制到app/config/gearman/dev.yml
  8. 现在将TestWorker.php添加到您的捆绑包中,如文档中所述
  9. 使用控制台脚本"php-app/console gearman:job:execute MmoreramerinoGearmanBundleWorkerstestWorker~test"启用testWorker
  10. 现在,您可以将作业发送到Symfony控制器(或Symfony中的其他地方)中的侦听testWorker。虽然我使用默认的主机/端口,但我必须指定服务器。

    $gearman = $this->get('gearman');
    $gearman->setServer('127.0.0.1',4730);
    $gearman->doNormalJob('MmoreramerinoGearmanBundleWorkerstestWorker~test');

要安装捆绑包,需要在composer.json 中添加以下行

"Mmoreramerino/GearmanBundle": "dev-development"

并运行composer更新;

然后在app/AppKernel.php中注册(看起来你已经这样做了)

new MmoreramerinoGearmanBundleMmoreramerinoGearmanBundle(),

相关内容

  • 没有找到相关文章

最新更新