我正在尝试从php shell_exec运行gearman客户端,但它总是抛出以下错误GearmanClient :: do():send_packet(GEARMAN_COULD_NOT_CONNECT)无法发送服务器选项数据包 - > libgearman / connection.cc:485/var/www/html/client.php
但是如果我从终端运行它然后它工作但不是从php shell_exec。甚至我在addServer方法中传递了服务器名称和端口
我正在使用centos 6.2。
Client.php
$client= new GearmanClient();
$client->addServer('127.0.0.1',4730);
print $client->do("reverse","Testing");
worker.php
$worker= new GearmanWorker();
$worker->addServer("127.0.0.1",4730);
$worker->addFunction("reverse", "my_reverse_function");
function my_reverse_function($job)
{
return strrev($job->workload());
}
答案 0 :(得分:0)
确保已安装齿轮箱包。或者根据需要手动安装。有时升级您的系统可能会导致您的软件包丢失。
请按照此处http://gearman.org/getting-started/
中所述,在调试模式下检查或启动它gearmand -vvv
然后启动它在后台运行
gearmand -d
我读过其他问题,这些问题从
改变了$woker->addServer('127.0.0.1',4730);
到
$worker->addServer('127.0.0.1:4730');
$client->addServer('127.0.0.1',4730);