1 自己從源碼編譯一個新的openssl
下載源碼下來解壓到 /mnt/soft/openssl-1.0.2m (openssl 安裝到)
./config -h
/usr/bin/perl ./Configure -h ./config shared --prefix=/usr/mylibs --openssldir=/usr/mylibs/ssl \ -Wl,-rpath=/usr/mylibs/lib make clean make make install
2 編譯php_openssl,鏈接新的openssl
prefix 是安裝目錄,openssldir 是配置文件目錄,另外建議安裝兩次,shared 作用是生成動態連接庫。
wget ftp://ftp.openssl.org/source/openssl-1.0.0c.tar.gz
tar -zxf openssl-1.0.0c.tar.gz
cd openssl-1.0.0c/
運行php安裝目錄下的phpize文件,這時候會在extension目錄下生成相應的configure文件。(php71為指定的PHP版本)
/usr/local/php71/bin/phpize
必須:指定openssl 目錄
export PKG_CONFIG_PATH=/usr/mylibs/lib/pkgconfig
pkg-config --cflags --libs libssl
./configure --with-openssl=/usr/mylibs --with-php-config=/usr/local/php71/bin/php-config
LDFLAGS="-Wl,-rpath-link=/usr/mylibs/lib -Wl,--verbose"
make && make install
3 編譯mongodb,需要依賴openssl ,鏈接新的openssl
下載mongodb
tar -zvxf mongodb-1.5.5.tar.gz
cd mongodb-1.5.5
/usr/local/php71/bin/phpize
指定openssl依賴
/usr/mylibs
export PKG_CONFIG_PATH=/usr/mylibs/lib/pkgconfig
pkg-config --cflags --libs libssl
./configure --with-php-config=/usr/local/php71/bin/php-config
make && make install