我正在使用Debian Linux / Apache(Dreamhost上的VPS)。我试图按照these instructions安装ZeroMQ(版本3.2.3)。乍一看,看起来一切顺利。
sudo make install
命令自豪地报告(其中包括)
Libraries have been installed in: /usr/local/lib
确实,这是ls
的{{1}}:
/usr/local/lib
libzmq.a libzmq.so libzmq.so.3.0.0 php python2.5 site_ruby
为了使用ZeroMQ,我已添加到我的php.ini:
libzmq.la libzmq.so.3 ocaml pkgconfig python2.6
但是当我运行PHP时,我得到:
extension = /usr/local/lib/libzmq.so
我做错了什么?
更新 根据djf的回答,我通过instructions for PHP bindings(从Github建立)工作。那些似乎工作。但是,当我运行PHP时,我得到:
PHP Startup: Invalid library (maybe not a PHP library) '/usr/local/lib/libzmq.so
现在是什么?
更新2
哦,等一下。我可能知道那是什么。 Dreamhost在命令行上有PHP 5.2。我需要PHP 5.4,所以我一直在调用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`
(这显然是PHP 5.4可执行文件所在的位置)。
但是,像/usr/local/php54/bin/php
和configure
这样的命令使用普通的标准PHP。所以我需要将CLI PHP升级到5.4。
之后,一切正常。感谢大家的帮助!
答案 0 :(得分:3)
好像你只安装了C库,因此错误:
PHP Startup: Invalid library (maybe not a PHP library) '/usr/local/lib/libzmq.so
您还必须构建PHP绑定。检查这些instructions如何构建它们。
答案 1 :(得分:1)
我为windows做这个,但我认为linux是一样的。 只需转到http://pecl.php.net/package/zmq/1.1.2/windows并下载适合您的php版本的软件包。 然后将它和coppy'libzmq.dll'提取到'xampp / php'文件夹,将'php_zmq.dll'提取到'xampp / php / etc'。 在'php.ini'的末尾添加以下行:extension = php_zmq.dll
别忘了重启你的xampp!祝你好运