2015-08-04 3 views
0

Я пытаюсь выполнить this minimal example из Gearman работы сервера с PHP:PHP Gearman работник/клиент не работает

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, который дает выход «Начальный рабочий ...» Затем я пытаюсь использовать php client.php (в другом консольном окне), который дает выход Начальный клиент ... (не более). Однако я ожидаю выход «! DlroW olleH» или хотя бы подходящее сообщение об ошибке .... Следующий код дает мне вывод: 1.0.6, поэтому я предполагаю, что программное обеспечение gearman установлено правильно , Я на debian 8.1 btw.

<?php 
echo gearman_version(); 
?> 

Что не так? Почему мой Gearman Worker и/или Клиент не работают?

ответ

1

Добавление IP (вместо значения по умолчанию «localhost»), решило проблему.

$worker->addServer("127.0.0.1"); 
Смежные вопросы