我正在尝试使用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不能工作?
答案 0 :(得分:1)
添加IP(而不是默认值“localhost”)解决了这个问题。
$worker->addServer("127.0.0.1");