Hos*_*her 5 php php-extension zeromq composer-php
很抱歉与另一个问题重复此问题.我无法解决我的问题.
我正在研究一个基于的项目Ratchet.我试图运行这个Push Integration例子.所以,为了运行,我应该使用composer来获得一些依赖.我创建一个composer.json文件,如下所示:
{
"autoload": {
"psr-0": {
"MyApp": "src"
}
},
"require": {
"cboden/ratchet": "0.3.*",
"react/zmq": "0.2.*|0.3.*"
}
}
Run Code Online (Sandbox Code Playgroud)
当我在其上执行composer时,出现以下错误:
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].
Run Code Online (Sandbox Code Playgroud)
您可以在下面找到Ratchet和的composer.json ZMQ:
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"
}
}
}
Run Code Online (Sandbox Code Playgroud)
棘轮:
{
"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": "cboden@gmail.com"
, "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"
}
}
Run Code Online (Sandbox Code Playgroud)
怎么了?请给我一个解决方案.提前致谢 :)
fel*_*ins 18
好的,我们走了......
您必须先在操作系统中安装ZMQ和ZMQ绑定.以下示例基于Debian Linux,但它应该适用于其他操作系统.
第一步:安装0MQ:转到http://zeromq.org/area:download并根据您的操作系统选择一个软件包,在我的情况下,我选择了POSIX tarball Stable Release 4.0.4.
~$ tar -xvf zeromq-4.0.4.tar
~$ cd zeromq-4.0.4
~$ ./configure
~$ make
~$ sudo make install
Run Code Online (Sandbox Code Playgroud)
好的,我们刚安装ZMQ现在需要安装zmq php绑定...确保你安装了php-dev和php pear.如果不:
~$ sudo apt-get install php5-dev php-pear
~$ sudo pecl install zmq-beta
Run Code Online (Sandbox Code Playgroud)
好的,我们现在已经安装了ZMQ和php绑定(ext-php),但我们应该在php.ini上添加"extension = zmq.so"(或者在windows上扩展名= php_zmq.dll):在我的情况下:
~$ sudo nano /etc/php5/apache2/php.ini
Run Code Online (Sandbox Code Playgroud)
注意:如果PHP版本是5.4.x(或5.4+,但我还没有测试过......),你需要在/etc/php5/conf.d中添加一个zmq.ini文件并输入"extension = zmq" .所以":
~$ sudo nano /etc/php5/conf.d/20-zmq.ini
Run Code Online (Sandbox Code Playgroud)
Reloadind HTTP服务器(在我的例子中是apache):
~$ sudo service apache2 reload
Run Code Online (Sandbox Code Playgroud)
哇!!!现在我们要更新作曲家的要求:
~$ 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
Run Code Online (Sandbox Code Playgroud)
Nuh*_*hdy 12
如果您仍然在遵循上述答案后仍然遇到相同的错误,那么可能是因为php.ini通常使用不正确composer.
你还必须更新ini CLI PHP.
如果php --ini从终端内部运行命令,那么您应该看到如下内容:

这.ini意味着不同的用途/etc/php5/apache2/php.ini.因此,如果您认为已经按照正确的工作流程安装了扩展程序,请更新/etc/php5/cli/php.ini并添加extension=zmq.so.
希望您the requested PHP extension zmq is missing在使用composer安装时摆脱该错误.
| 归档时间: |
|
| 查看次数: |
7959 次 |
| 最近记录: |