我有这个简单的代码:
<?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
答案 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