我正在研究 Debian Linux / Apache(Dreamhost 的 VPS)。我已尝试按照这些说明安装 ZeroMQ(版本 3.2.3) 。乍一看,似乎一切都很顺利。
该sudo make install
命令自豪地报告(除其他外)
Libraries have been installed in: /usr/local/lib
确实,这里ls
是/usr/local/lib
:
libzmq.a libzmq.so libzmq.so.3.0.0 php python2.5 site_ruby
libzmq.la libzmq.so.3 ocaml pkgconfig python2.6
为了使用 ZeroMQ,我在 php.ini 中添加了:
extension = /usr/local/lib/libzmq.so
但是当我运行 PHP 时,我得到:
PHP Startup: Invalid library (maybe not a PHP library) '/usr/local/lib/libzmq.so
我究竟做错了什么?
更新 根据 djf 的回答,我按照 PHP 绑定的说明进行了工作(从 Github 构建)。这些似乎有效。但是,当我运行 PHP 时,我得到:
PHP Warning: PHP Startup:
zmq: Unable to initialize module Module compiled with module API=20060613
PHP compiled with module API=20100525
These options need to match in Unknown on line 0`
怎么办?
更新 2
哦,等一下。我可能知道那是什么。Dreamhost 在命令行上有 PHP 5.2。我需要 PHP 5.4,所以我一直这样调用 PHP /usr/local/php54/bin/php
(这显然是 PHP 5.4 可执行文件所在的位置)。
但是,命令喜欢configure
并make
使用普通的标准 PHP。所以我需要将 CLI PHP 升级到 5.4。
之后,一切正常。谢谢大家的帮助!