gearman在你的系统中不见了


gearman is missing from your system

描述

试图通过composer require laelaps/symfony-gearman-bundle安装laelaps/symfony gearman捆绑包,但出现了一些错误,我很难理解它们的含义。

错误

问题1

- laelaps/symfony-gearman-bundle 1.1.x-dev requires ext-gearman * -> the requested PHP extension gearman is missing from your system.
- laelaps/symfony-gearman-bundle 1.x-dev requires ext-gearman * -> the requested PHP extension gearman is missing from your system.
- laelaps/symfony-gearman-bundle 1.0.0 requires ext-gearman * -> the requested PHP extension gearman is missing from your system.
- Installation request for laelaps/symfony-gearman-bundle 1.*@dev -> satisfiable by laelaps/symfony-gearman-bundle[1.0.0, 1.x-dev, 1.1.x-dev].

我已经通过apt-get install gearman-job-server给gearman发了疯我四处寻找解决方案,但没有取得多大成功。

问题

如何正确安装丢失的php-ext gearman?

我已经通过apt-get install gearman-job-server安装了gearman我四处寻找解决方案,但没有取得多大成功。

这是你的问题。您还没有安装php扩展-您只是安装了程序。

如果您使用命令apt-cache search gearman,您可以看到与关键字"gearman"相关的所有软件包:

aj@dev ~ $ apt-cache search gearman
drizzle-plugin-gearman-udf - Gearman User Defined Functions for Drizzle
drizzle-plugin-logging-gearman - Gearman Logging for Drizzle
gearman - Distributed job queue
gearman-job-server - Job server for the Gearman distributed job queue
gearman-server - Gearman distributed job server and Perl interface
gearman-tools - Tools for the Gearman distributed job queue
libgearman-client-async-perl - asynchronous client for the Gearman distributed j                                                                                                                                      ob system
libgearman-client-perl - client for the Gearman distributed job system
libgearman-dbg - transitional dummy package
libgearman-dev - Development files for the Gearman Library
libgearman-doc - API Documentation for the Gearman Library
libgearman7 - Library providing Gearman client and worker functions
libgearman7-dbg - Debug symbols for the Gearman Client Library
mod-gearman-doc - Documentation and examples for Mod-Gearman
mod-gearman-module - Nagios/Icinga event broker module for Mod-Gearman
mod-gearman-tools - Tools for mod-gearman
mod-gearman-worker - Worker agent for Mod-Gearman
pandora-build - autotools made better, faster stronger
php5-gearman - PHP wrapper to libgearman
^^^^^^^^^^^^
pnp4nagios-bin - Nagios addon to create graphs from performance data (binaries)
python-gear - Pure Python Async Gear Protocol Library
python-gearman - Python interface to the Gearman system
python-gearman.libgearman - Python wrapper of libgearman
python3-gearman.libgearman - Python 3 wrapper of libgearman

如果您查看,您可以看到有一个名为php5-gearman的PHP扩展。这就是你的错误所指的:

您的系统中缺少请求的PHP扩展gearman

因此,只需安装php5-gearman并重新启动php/您的Web服务器:

sudo apt-get install php5-gearman
sudo service php5-fpm restart # restart if you use php5-fpm

您需要按照如下方式安装PHP依赖项:

sudo apt-get install libgearman-dev

查看这篇文章,了解更多基于你的SO.的细节

您可能需要在php-conf系统上添加库,例如:

echo 'extension = gearman.so' > /usr/local/etc/php/conf.d/gearman.ini

希望这能帮助

对于Ubuntu 16.04 Xenial,适用于我的解决方案如下:

安装其他程序包以进行编译

apt-get -y install wget unzip re2c libgearman-dev

从源安装

mkdir -p /tmp/install

cd /tmp/install

wget https://github.com/wcgallego/pecl-gearman/archive/master.zip

unzip master.zip

cd pecl-gearman-master

phpize

./configure

make install

echo "extension=gearman.so" > /etc/php/7.0/mods-available/gearman.ini

phpenmod -v ALL -s ALL gearman

验证模块是否已真正安装

php -m | grep gearman

删除安装文件

rm -rf /tmp/install/pecl-gearman-master

rm /tmp/install/master.zip