PHP Gearman工作者/客户端不起作用

时间:2015-08-04 14:01:53

标签: php gearman

我正在尝试使用php执行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尝试输出&#34; Starting Worker ...&#34; 然后我正在尝试php client.php(在另一个控制台窗口中),它提供输出 Starting Client ... (不再)。但是我期待输出&#34; !dlroW olleH &#34;或者至少是一个合适的错误信息.... 下面的代码给出了输出: 1.0.6 ,所以我假设,齿轮箱软件安装正确。我正在使用debian 8.1顺便说一句。

<?php
echo gearman_version();
?>

有什么问题?为什么我的Gearman Worker和/或Client不能工作?

1 个答案:

答案 0 :(得分:1)

添加IP(而不是默认值“localhost”)解决了这个问题。

$worker->addServer("127.0.0.1");