【发布时间】:2013-05-26 14:18:45
【问题描述】:
我正在研究 Debian Linux / Apache(Dreamhost 的 VPS)。我已尝试按照these instructions 安装 ZeroMQ(版本 3.2.3)。乍一看,一切顺利。
sudo make install 命令自豪地报告(除其他外)
Libraries have been installed in: /usr/local/lib
确实,这里是/usr/local/lib 的ls:
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 的回答,我通过instructions for PHP bindings(从 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,所以我一直像 /usr/local/php54/bin/php 这样调用 PHP(这显然是 PHP 5.4 可执行文件所在的位置)。
但是,configure 和 make 之类的命令使用普通的标准 PHP。所以我需要将 CLI PHP 升级到 5.4。
之后,一切正常。谢谢大家的帮助!
【问题讨论】:
-
您显然需要构建绑定(考虑到您的要求)而不是库本身。 zeromq.org/bindings:php
-
@Ivo 这是在黑暗中拍摄,但也许调用 /usr/local/php54/bin/phpize 会有所帮助?否则 configure 可能会提供一个开关来强制它使用特定的 PHP 版本。我对PHP真的不够熟悉
标签: zeromq