1

我正在研究 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 可执行文件所在的位置)。

但是,命令喜欢configuremake使用普通的标准 PHP。所以我需要将 CLI PHP 升级到 5.4。

之后,一切正常。谢谢大家的帮助!

4

2 回答 2

3

好像您只安装了 C 库,因此出现错误:

PHP Startup: Invalid library (maybe not a PHP library) '/usr/local/lib/libzmq.so

您还必须构建 PHP 绑定。查看这些关于如何构建它们的说明。

于 2013-05-26T14:28:00.923 回答
1

我为 Windows 这样做,但我认为 linux 是一样的。只需访问http://pecl.php.net/package/zmq/1.1.2/windows并下载适合您的 php 版本的软件包。然后将其解压缩并将“libzmq.dll”复制到“xampp/php”文件夹,将“php_zmq.dll”复制到“xampp/php/etc”。在 'php.ini' 的末尾添加以下行:extension=php_zmq.dll

不要忘记重新启动你的 xampp!祝你好运

于 2016-04-26T14:31:07.007 回答