今天,給大家分享一下解決源碼包編譯安裝 LEMP 環(huán)境下開啟 OpenSSL 功能問題的過程。前幾天,在訪問頁面時(shí),突然報(bào)錯(cuò),要求開啟 openssl 功能。那怎么辦呢,首先想到的是 yum 安裝,但是,安裝后還是沒解決,因?yàn)?LEMP 的環(huán)境是源碼包編譯安裝的,所以,還需要編譯安裝 openssl。
經(jīng)過邪惡不懈的努力,終于找到了解決辦法,而且真的成功了,下面就給大家分享一下!
首先,要確保 LEMP 環(huán)境是源碼包編譯安裝的,并且要清楚 PHP 的安裝目錄在哪里。
其次,可以通過 yum 源的方式或者源碼包編譯安裝 OpenSSL、OpenSSL-devel 兩個(gè)包。
然后,進(jìn)入到 PHP 解壓出來的目錄里面,我這里的目錄是 PHP-5.4.24。在 PHP 目錄下,會(huì)有一個(gè) ext 的擴(kuò)展目錄,進(jìn)入里面,找到并進(jìn)入 openssl 的目錄。這時(shí),我們所在的目錄是:/root/php-5.4.24/ext/openssl
這個(gè)目錄下會(huì)有如下文件,看圖:

然后,執(zhí)行 /usr/local/php5/bin/phpize 命令(在執(zhí)行前要確保已安裝 m4 和 autoconf 兩個(gè)工具,否則會(huì)報(bào)錯(cuò))。
注意:這里是我的phpize路徑,根據(jù)自己的安裝路徑執(zhí)行;如果找不到,使用 whereis phpize 查找。如果執(zhí)行時(shí)報(bào)錯(cuò)無法找到 config.m4 文件,那么就把目錄下面的 config0.m4 重命名 config.m4,因?yàn)?config0.m4就是config.m4 的模版。
如果命令成功執(zhí)行完畢,那么目錄下面就會(huì)自動(dòng)多出個(gè) configure 文件,這時(shí),只需要編譯安裝就行了。過程如下:
# ./configure --with-openssl --with-php-config=/usr/local/php5/bin/php-config
# make make install
耐心等候,安裝完成后,會(huì)在當(dāng)前的modules目錄下面多出一個(gè)openssl.so文件;然后在php.ini配置文件最后面加上如下一行內(nèi)容:
extension=openssl.so
然后,重啟nginx服務(wù)和php-fpm,就可以了!
至此,在源碼編譯安裝LNMP環(huán)境下開啟openssl功能成功解決!