- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我的开发服务器是 Debian Squeeze,我正在运行 Gearman 1.1.5,它是我从源代码编译的以及 php pecl 扩展 v1.1.1
如果我运行 reverse_client.php 脚本,我会收到 GEARMAN_COULD_NOT_CONNECT 错误。
PHP 警告:GearmanClient::do(): send_packet(GEARMAN_COULD_NOT_CONNECT) 无法发送服务器选项数据包 -> libgearman/connection.cc:430 in/home/bealers/build/gearman-1.1.1/examples/reverse_client.php 第 26 行
这里有一些类似的帖子,它们都指向 GM 没有运行。
它绝对正在运行。
我用这些参数启动它:
PARAMS="--queue-type=MySQL --mysql-db=test_db --mysql-user=gearman --mysql-password=gearman"
如果我在 test_db 中删除 gearman_queue 表,然后重新启动守护进程,该表会重新创建,因此它的 mysql 连接正常并且可以正常启动。
我也可以在本地主机上远程登录到 4730,所以没有防火墙问题。
一开始GM启动有问题,因为它是在mysql之前启动的,所以我编辑了init脚本
### BEGIN INIT INFO
# Provides: gearman-job-server
# Required-Start: $network $remote_fs $syslog mysql
update-rd.c gearman-job-server defaults
将其设置为在之后启动,现在启动时可以正常启动。
我唯一能想到的另一件事是,最初我是通过 apt 安装的,但版本太旧,所以我将其删除并从源代码编译。/usr/sbin/gearmand 不再存在,唯一的版本是/usr/local/sbin/gearmand
ps 斧头 | grep gearman
显示只有一个进程在运行。
Netstat 显示只有一个进程在运行`
tcp 0 0 *:4730 *:* LISTEN 2325/gearmand
PECL 库看起来不错:
php -i | grep 齿轮人
/etc/php5/cli/conf.d/gearman.ini,
gearman
gearman support => enabled
libgearman version => 1.1.5
我没有想法
最佳答案
我遇到了同样的问题,经过几天的挫折后最近解决了它们(很难排除故障,因为有三个过程需要担心:-)
看起来(至少在我的情况下)GearmanClient::addServer() 和 GearmanWorker::addServer() 的 PHP 文档不正确。具体来说,文档似乎暗示主机名和端口号是可选的,如果您不指定它们,它将使用本地主机和端口 4730 作为默认值。这从不有效 - 今天我突然想到尝试为客户端和工作进程明确指定它们并且一切都开始工作。
尝试为主机名和端口指定所有值,看看这是否适合您。
关于php - gearman 给我 GEARMAN_COULD_NOT_CONNECT,它肯定在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14883681/
我的开发服务器是 Debian Squeeze,我正在运行 Gearman 1.1.5,它是我从源代码编译的以及 php pecl 扩展 v1.1.1 如果我运行 reverse_client.php
我在我的服务器上安装了 gearmand 1.1.5,并在启动服务器后尝试了安装提供的示例。它们工作得非常正确(echo 示例有效,反向不按预期工作,但没有给出任何错误)。 然后我使用 pecl 安装
我正在尝试从 php shell_exec 运行 gearman 客户端,但它总是抛出以下错误 GearmanClient::do(): send_packet(GEARMAN_COULD_NOT_C
我是一名优秀的程序员,十分优秀!