2013-05-26 45 views
1

我正在使用Debian Linux/Apache(Dreamhost上的VPS)。我試圖按照these instructions安裝ZeroMQ(版本3.2.3)。乍一看,它看起來一切都很順利。無法安裝或使用ZeroMQ庫

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的回答,我的工作我的方式,通過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,所以我一直在調用PHP,就像/usr/local/php54/bin/php(這顯然是PHP 5.4可執行文件駐留的地方)。

然而,命令,如configuremake使用普通的,標準的PHP。所以我需要將CLI升級到5.4。

之後,一切正常。感謝大家的幫助!

+2

你需要建立明顯的綁定(考慮你的要求是什麼)不是圖書館本身。 HTTP:// WWW。zeromq.org/bindings:php – user2384250

+0

@Ivo這是在黑暗中拍攝的,但也許調用/ usr/local/php54/bin/phpize會有幫助嗎?否則_configure_可能會提供一個開關來強制它使用特定的PHP版本。我真的不熟悉PHP – djf

回答

3

好像你只安裝了C庫,因此錯誤:

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

您還必須建立PHP綁定。檢查這些instructions如何構建它們。

+0

感謝您的回覆。我按照我的方式完成了PHP綁定的指示(從Github構建)。那些似乎工作。但是,當我運行PHP我得到: PHP的警告:PHP啓動:ZMQ:無法初始化模塊 模塊與模塊API編譯= 20060613 PHP編譯模塊API = 20100525個 這些選項需要在未知線匹配現在呢? –

1

我這樣做的Windows,但我認爲Linux是相同的。 只需轉到http://pecl.php.net/package/zmq/1.1.2/windows並下載適合您的php版本的軟件包。 然後將其解壓縮並將'pyzmq.dll'複製到'xampp/php'文件夾,'php_zmq.dll'複製到'xampp/php/etc'中。 在「php.ini中的」添加結束後線:延長= php_zmq.dll

別忘了重新啓動XAMPP好運