PHP不從新編譯,單獨添加模塊擴展的方法

php自身提供了不少擴展,好比curl,gmp, mbstring等。咱們在編譯安裝php時未必安裝了全部擴展。那麼在安裝完php後,若是想單獨安裝某個php自身的擴展怎麼辦呢?php

咱們以curl擴展模塊的安裝爲例說明如何單獨添加擴展。apache

步驟:
1.進入php源碼的擴展目錄。本例中個人源碼對應目錄以下:php7

/search/src/php-7.0.14/ext

2.進入模塊目錄,咱們安裝的是curl擴展,因此進入curl目錄。此時,咱們所在的目錄是curl

/search/src/php-7.0.14/ext/curl

3.執行phpize。注意,若是你的機器上有多個php版本,必定要執行你準備安裝擴展的php版本對應的phpize。好比,個人機器上同時有php7和php5.3.3。我當前準備爲php7安裝curl擴展。因此執行php7對應的phpizeurl

/usr/local/php7.0/bin/phpize

結果相似:.net

Configuring for:
PHP Api Version: 20151012
Zend Module Api No: 20151012
Zend Extension Api No: 320151012

4.執行blog

./configure --with-php-config=/usr/local/php7.0/bin/php-config

說明:若是你的機器上只有一個php版本,大多時候不須要特別使用–with-php-config指明相應的php-config所在位置。get

5.執行make,以後會在./modules/目錄下生成curl.so文件源碼

6.執行make installstring

結果相似:

Installing shared extensions: /usr/local/php7.0/lib/php/20151012/

執行結果告訴你將curl.so安裝到了哪一個目錄。

通常狀況,若是你正確的指定了php-config或者你的機器只有一個php版本,so都會被正確安裝到相應php的extension_dir。若是執行make install後,extension_dir目錄下沒有相應的so,能夠手動將第5步中生成的so文件cp過去。

要查看具體extension_dir,能夠執行以下命令。

php -i| grep extension_dir
結果相似
extension_dir => /usr/local/php7.0/lib/php/20151012/ => /usr/local/php7.0/lib/php/20151012/

7.在php.ini中增長

extension=curl.so

若是不知道php.ini的具體位置,能夠經過以下命令查看

php --ini

8.執行以下命令,查看是否安裝成功

php -m | grep curl

若是你看到了curl, 恭喜你,安裝成功!

注意:若是你是使用fpm,apache等方式執行php。在修改相應的php.ini後,還須要從新啓動fpm或apache,新的擴展才會生效。

原文:https://blog.csdn.net/qmhball/article/details/79015888

相關文章
相關標籤/搜索