example Gearman worker from their documentation (아래 참조)을 실행하려고하는데, 다음과 같이 내 Gearman 로그 파일에 많은 오류가 발생합니다. FATAL [ 0] gearman_packet_unpack_header:invalid command value
. Gearman 클라이언트 (다시 말하지만, 자신의 예제)를 실행하면 아무 것도 변경되지 않습니다. 아무 반응이 없습니다.치명적인 오류 [0] gearman_packet_unpack_header : 잘못된 명령 값
extension version 1.0.2
libgearman version 0.29
Default TCP Host localhost
Default TCP Port 4730
>gearmand -V
:
gearmand 0.29
어떻게 제대로 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
를 실패한 샘플 노동자 코드? libgearman은 gearmand와 같은 버전이며 내 PECL 확장은 가장 최근의 안정 버전입니다. 나는 그 밖에 무엇을 시도해야할지 모르겠습니다.
동일한 문제는 아니지만 비슷한 문제가 발생했습니다. 나는 PECL 확장을 포기하고 PEAR의 Net_Gearman으로 전환하는 과정에있다. PHP이기 때문에 버전/아키텍처의 차이점에 훨씬 더 탄력적이라고 기대한다. – halfer