PHP GearmanClient无法在Ubuntu 16.04 LTS上运行

时间:2018-12-09 00:24:05

标签: php gearman

我有这个简单的代码:

<?php
$client = new \GearmanClient();
$client->addServer();

这会产生以下错误:

PHP Fatal error:  Uncaught GearmanException: Failed to set exception option in /var/www/demo-admin/public-html/admin-generico/vendor/generico/components/tests/utils/test-gearman.php:4
Stack trace:
#0 /var/www/demo-admin/public-html/admin-generico/vendor/generico/components/tests/utils/test-gearman.php(4): GearmanClient->addServer()
#1 {main}
  thrown in /var/www/demo-admin/public-html/admin-generico/vendor/generico/components/tests/utils/test-gearman.php on line 4

Gearman服务器肯定已通过ps确认运行:

ps -A | grep gearman
25698 ?        00:00:00 gearmand

我从ppa:ondrej / pkg-gearman安装了php-gearman

Gearman版本是1.1.17

2 个答案:

答案 0 :(得分:0)

即使Gearman服务器在本地运行,addServer()方法也需要一个主机参数:

$client->addServer('127.0.0.1');

尽管文档中说默认是本地服务器,但我发现有时必须指定它才能使该错误消失。

答案 1 :(得分:0)

@Kris Peeling的评论提出了一个想法。我卸载了所有gearman并重新安装。瞧!问题消失了。我不必使用本地主机IP。 我提到了这个:https://www.patreon.com/posts/gearman-now-in-14627464