Your requirements could not be resolved to an installable set of packages
Solution 1
Ok, here we go...
You must have ZMQ and ZMQ binding installed previously in operation system. The following exemples is based on Debian Linux but it should work in other OS.
First: Installing 0MQ: Go to http://zeromq.org/area:download and choose a package according your OS, in my case I've choosed POSIX tarball Stable Release 4.0.4.
~$ tar -xvf zeromq-4.0.4.tar
~$ cd zeromq-4.0.4
~$ ./configure
~$ make
~$ sudo make install
Ok, we just have installed ZMQ now need install zmq php binding... Make sure you having php-dev and php pear installed. If no:
~$ sudo apt-get install php5-dev php-pear
~$ sudo pecl install zmq-beta
Ok, we have now ZMQ and php binding (ext-php) installed but we should add "extension=zmq.so" (Or extension=php_zmq.dll on windows) to php.ini: In my case:
~$ sudo nano /etc/php5/apache2/php.ini
NOTE: If PHP version is 5.4.x (or 5.4+, but I haven't tested yet...) you will need to add a zmq.ini file in /etc/php5/conf.d and put "extension=zmq.so":
~$ sudo nano /etc/php5/conf.d/20-zmq.ini
Reloadind HTTP server (in my case apache):
~$ sudo service apache2 reload
WOW!!! Now we gonna to update composer requirements:
~$ composer --verbose update
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing react/zmq (v0.3.0)
Downloading: 100%
Extracting archive
Writing lock file
Generating autoload files
Solution 2
If you are still getting the same error even after following the above answer then it might be because of incorrect php.ini
used usually by composer
.
You have to update the ini of CLI PHP
also.
If you run the command php --ini
from inside your terminal then you should see something like following:
This .ini
meant for different usage than /etc/php5/apache2/php.ini
. So, update that /etc/php5/cli/php.ini
and add extension=zmq.so
in it, if you think you already installed the extension following a correct workflow.
Hope you will get rid off that the requested PHP extension zmq is missing
error while using composer installation.
Hossein Mobasher
Martin Fowler: Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
Updated on June 12, 2022Comments
-
Hossein Mobasher over 1 year
Sorry for duplication of this question with another one. I can't solve my problem.
I am working on a project based on
Ratchet
. I am trying to run thePush Integration
example. So, in order to run, I should use composer to get some dependencies. I make a composer.json file like below:{ "autoload": { "psr-0": { "MyApp": "src" } }, "require": { "cboden/ratchet": "0.3.*", "react/zmq": "0.2.*|0.3.*" } }
When I execute composer on it, below error occurrs:
Loading composer repositories with package information Installing dependencies (including require-dev) Your requirements could not be resolved to an installable set of packages. Problem 1 - react/zmq v0.3.0 requires ext-zmq * -> the requested PHP extension zmq is missing from your system. - react/zmq v0.2.0 requires ext-zmq * -> the requested PHP extension zmq is missing from your system. - Installation request for react/zmq 0.2.*|0.3.* -> satisfiable by react/zmq[v0.2.0, v0.3.0].
Below you can find composer.json of
Ratchet
andZMQ
:ZMQ:
{ "name": "react/zmq", "description": "ZeroMQ bindings for React.", "keywords": ["zmq", "zeromq"], "license": "MIT", "require": { "php": ">=5.4.0", "ext-zmq": "*", "evenement/evenement": "~2.0", "react/event-loop": "0.4.*" }, "require-dev": { "ext-pcntl": "*" }, "autoload": { "psr-0": { "React\\ZMQ": "src" } }, "extra": { "branch-alias": { "dev-master": "0.4-dev" } } }
Ratchet:
{ "name": "cboden/ratchet" , "type": "library" , "description": "PHP WebSocket library" , "keywords": ["WebSockets", "Server", "Ratchet", "Sockets"] , "homepage": "http://socketo.me" , "license": "MIT" , "authors": [ { "name": "Chris Boden" , "email": "[email protected]" , "role": "Developer" } ] , "support": { "forum": "https://groups.google.com/forum/#!forum/ratchet-php" , "issues": "https://github.com/ratchetphp/Ratchet/issues" , "irc": "irc://irc.freenode.org/reactphp" } , "autoload": { "psr-0": { "Ratchet": "src" } } , "require": { "php": ">=5.3.9" , "react/socket": "0.3.*|0.4.*" , "guzzle/http": "~3.6" , "symfony/http-foundation": "~2.2" , "symfony/routing": "~2.2" } }
What is wrong? Please give me a solution. Thanks in advance :)
-
cmw2379 over 8 yearsYou are a god among gods!!! That was all I needed after a half hour of trying to figure out what the heck was wrong. Thank you sooooo much.
-
Nuhil Mehdy over 8 yearsPleasure & happy to hear that :)
-
Erik Verboom almost 8 yearsYes! finally it all works. thanks for the extra tip!
-
tisuchi about 4 yearsI am not getting the cli list of php ini file.