php - 致命的 [0] gearman_packet_unpack_header :invalid command value

标签 php ubuntu gearman

我正在尝试运行 example Gearman worker from their documentation (见下文),但每次我这样做时,我的 Gearman 日志文件中都会出现大量错误,如下所示:FATAL [0] gearman_packet_unpack_header:invalid command value。当我运行 Gearman 客户端(同样是他们自己的示例)时,它似乎没有任何改变。没有任何反应。

这是失败的示例工作代码

# Create our worker object.
$worker= new GearmanWorker();

# Add default server (localhost).
$worker->addServer();

# Register function "reverse" with the server.
$worker->addFunction("reverse", "reverse_fn");

while (1)
{
  print "Waiting for job...\n";

  $ret= $worker->work();
  if ($worker->returnCode() != GEARMAN_SUCCESS)
    break;
}

# A much simple reverse function
function reverse_fn($job)
{
  $workload= $job->workload();
  echo "Received job: " . $job->handle() . "\n";
  echo "Workload: $workload\n"; 
  $result= strrev($workload);
  echo "Result: $result\n";
  return $result;
}

>php -i:

extension version   1.0.2
libgearman version  0.29
Default TCP Host    localhost
Default TCP Port    4730

>gearmand -V:

机械臂 0.29

如何正确配置 Gearman 才能工作? libgearman 与 gearmand 的版本相同,我的 PECL 扩展是最新的稳定版本。我不确定还能尝试什么。

最佳答案

据我所知,Gearman 1.0.2 版的 PECL 扩展不适用于 Gearman 0.29 版。我将 Gearman 和 libgearman 都更新到了 0.33 版,并且我的扩展很快就开始工作了。

关于php - 致命的 [0] gearman_packet_unpack_header :invalid command value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11025598/

相关文章:

perl - 在 Ubuntu 中的 postgres-9.4 上安装 perl 扩展时出错

linux - 在文件夹中制作 n 个文件副本并将它们复制到特定文件夹

ubuntu - 具有组写访问权限的用户的 SFTP 覆盖失败

php - MAMP 上的 Gearman PECL 扩展

php - 如何获取 gearman 中特定类型的排队作业数?

php - 如何正确地将自定义样式应用于现有的 wordpress 菜单

PHP向数据库添加多行

php - 在 cookie 中存储数组

linux - CHECK_GEARMAN CRITICAL - 函数 'BulkEmail' 未在服务器中注册

php - Laravel - 命名路由(GET、POST、DELETE)同名?