我有一个简单的代码:
<?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
addServer()
方法需要一个主机参数,即使gearman服务器在本地运行:
$client->addServer('127.0.0.1');
尽管文档中说默认服务器是本地服务器,但我发现有时必须指定它才能消除错误。
@Kris Peeling的评论给出了一个想法。我卸载了所有gearman并重新安装。哇!问题消失了。我不必使用本地主机IP。我指的是:https://www.patreon.com/posts/gearman-now-in-14627464