PHP Gearman Worker / Client 不工作

PHP Gearman Worker / Client does not work

我正在尝试使用 php:

执行 gearman 作业服务器的 this minimal example

worker.php:

<?php
ini_set('display_errors', 1);
error_reporting(~0);
$worker= new GearmanWorker();
$worker->addServer();
$worker->addFunction("reverse", "my_reverse_function");
echo "Starting Worker...\n";
while ($worker->work());

function my_reverse_function($job)
{
  return strrev($job->workload());
}
?>

client.php:

<?php
ini_set('display_errors', 1);
error_reporting(~0);
echo "Starting Client...\n";
$client= new GearmanClient();
$client->addServer();
print $client->doNormal("reverse", "Hello World!");
?>

我在控制台中使用 php worker.php 尝试它,它给出了输出 "Starting Worker..." 然后我尝试php client.php(在另一个控制台-window),它给出输出Starting Client...(不再)。但是我期待输出“!dlroW olleH”或者至少是一个合适的错误信息.... 下面的代码给出了输出:1.0.6,所以我假设 gearman 软件安装正确。我在 debian 8.1 顺便说一句。

<?php
echo gearman_version();
?>

怎么了?为什么我的 Gearman Worker 和/或 Client 不工作?

添加 IP(而不是默认值 "localhost"),解决了问题。

$worker->addServer("127.0.0.1");