1

これはとても悲しい話です。プロジェクトでGearmanを使い始めようとしています。しかし、簡単なテストを実行することはできません。

root@140141-10009:~# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.1 LTS"

PHP

root@140141-10009:~# php -v
PHP 5.3.10-1ubuntu3.4 with Suhosin-Patch (cli) (built: Sep 12 2012 18:59:41)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies

ギアマン

root@140141-10009:~# gearmand -V
gearmand 0.34 - https://bugs.launchpad.net/gearmand

PHP PECL Gearman 1.1.0、エラーなしでソースからコンパイルされました。すべての(2)テストに合格しました。他のPHP拡張機能は有効になっていません。

client.php:

<?php
$client = new GearmanClient();
$client->addServer('127.0.0.1');
$client->setTimeout(10000);
$client->addTask('taskplus2', 10);
$client->addTask('taskplus2', 15);
$client->runTasks();

エラー:

root@140141-10009:~/gearman/proto# php client.php
Segmentation fault

dmesg:

[15066.824900] php[20520]: segfault at f ip 00007f128470ba40 sp 00007fffd9f1dd28 error 4 in libc-2.15.so[7f12845c1000+1b5000]

私はすでにPHP5.3、5.4、Ububtu 10.04、12.04を試しましたが、gearman-ppaを使用し、使用していません。PECL Gearman 0.8.1、0.8.3、1.0.2、1.0.3、1.1.0も試してみました。それをすべてインストールして、Ubuntuのクリーンセットアップを行います。のグーグルはlibc6 gearman効果がありませんでした。

4

2 に答える 2

2

このメソッドGearmanClient::addTask()は、2番目のパラメーターとして整数ではなく文字列を受け入れます。

試す:

$client->addTask('taskplus2', serialize(10));
于 2012-12-18T14:40:42.207 に答える
0

公式ウェブサイトからgearmandバージョンを1.1.2に更新してみてください。

于 2012-12-13T13:05:09.540 に答える