我正在尝试在运行 Sierra
的 Mac 上安装 zeromq。根据安装指南 http://zeromq.org/intro:get-the-software,您可以通过运行以下命令安装 zeromq 库:
brew install zmq
成功安装后,我继续将"react/zmq": "0.2.*|0.3.*"
添加到composer.json
的要求部分并运行composer install
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].
我认为这与已经安装了默认 php 的 macs 和为错误的 php 版本安装 zeromq 有关。我应该如何进一步调试这个问题?
php -m
显示没有libzmg
包。 php -i
显示版本 PHP Version => 5.6.30
。在浏览器中检查phpinfo()
也会返回版本 5.6.30
嗯。我终于找到了一种方法。
$ git clone git://github.com/mkoppanen/php-zmq.git
$ cd php-zmq
$ phpize && ./configure
$ make && make install
现在您需要找出哪个 php.ini 文件加载到您的 CLI 上
$ php --ini
或者您可以通过键入以下命令来查找
$ php -i | grep 'Configuration File'
如果没有任何东西,请添加"/etc/php.ini"。我添加了一个,通常你有 php.ini.default 出现在"/etc"上,在"/etc/php.ini"中复制该位置
然后你需要找出 zmq.so 文件,你可以通过输入找到它
$ sudo find / -name zmq.so
如果是 /Library/WebServer/Documents/drupal/php-zmq/.libs/zmq.so
所以它将是"Path/TO/php-zmq/.libs/zmq.so">
然后编辑您的php.ini
文件并添加zmq.so
的确切路径
在我的例子中">extension=/Library/WebServer/Documents/drupal/php-zmq/.libs/zmq.so">
extension=/$PATH_TO/php-zmq/.libs/zmq.so
万事如意...
Rakesh 提供的答案是正确的,但存储库不再有效,请改用 https://github.com/alexat/php-zmq。