Php
編譯 PHP 擴展時出錯
我正在嘗試安裝一個用 c 編寫的 php 擴展並使用 MongoDB c 驅動程序。
在過去的兩天裡,我一直在嘗試編譯和安裝擴展,但是,我遇到了同樣的錯誤。
/usr/bin/ld: /usr/local/lib/libmongoc.a(bson.o): relocation R_X86_64_32S against `bson_numstrs' can not be used when making a shared object; recompile with -fPIC /usr/local/lib/libmongoc.a: could not read symbols: Bad value collect2: ld returned 1 exit status make: *** [thaps.la] Error 1
完整的日誌可以在 Pastbin 中找到:http: //pastebin.com/iqpqHYpm
我要安裝的擴展位於 bitbucket:https ://bitbucket.org/heinep/thaps
我正在使用 php 5.4 和 zend 2.4 apache 2.2 MongoDB c 驅動程序 v0.5 ubuntu 12.04 64bits
您需要安裝 MongoDB 伺服器,而不是c驅動程序。還要安裝
mongodb-dev
軟體包,因為可能需要額外的開發標頭檔/文件。如果您需要額外的幫助;mongodb.org上的文件提供了在 Ubuntu和PHP 驅動程序上安裝的詳細說明。sh ~> sudo apt-get install mongodb-server mongodb-dev sh ~> sudo pecl install mongo
php5-mongo也可以通過 Ubuntu 的包管理器獲得。
sh ~> sudo apt-get install php5-mongo