php編譯后還能加擴(kuò)展功能嗎
能加擴(kuò)展。
php自身提供了很多擴(kuò)展,比如curl,gmp, mbstring等。我們?cè)诰幾g安裝php時(shí)未必安裝了所有擴(kuò)展。那么在安裝完php后,如果想單獨(dú)安裝某個(gè)php自身的擴(kuò)展怎么辦呢?我們以curl擴(kuò)展模塊的安裝為例說明如何單獨(dú)添加擴(kuò)展。
步驟:
1.進(jìn)入php源碼的擴(kuò)展目錄。本例中我的源碼對(duì)應(yīng)目錄如下:
/search/src/php-7.0.14/ext
2.進(jìn)入模塊目錄,我們安裝的是curl擴(kuò)展,所以進(jìn)入curl目錄。此時(shí),我們所在的目錄是
/search/src/php-7.0.14/ext/curl
3.執(zhí)行phpize。注意,如果你的機(jī)器上有多個(gè)php版本,一定要執(zhí)行你準(zhǔn)備安裝擴(kuò)展的php版本對(duì)應(yīng)的phpize。比如,我的機(jī)器上同時(shí)有php7和php5.3.3。我當(dāng)前準(zhǔn)備為php7安裝curl擴(kuò)展。所以執(zhí)行php7對(duì)應(yīng)的phpize
/usr/local/php7.0/bin/phpize
結(jié)果類似:
Configuring for: PHP Api Version: 20151012 Zend Module Api No: 20151012 Zend Extension Api No: 320151012
4.執(zhí)行./configure
./configure --with-php-config=/usr/local/php7.0/bin/php-config
說明:如果你的機(jī)器上只有一個(gè)php版本,大多時(shí)候不需要特別使用–with-php-config指明相應(yīng)的php-config所在位置。
5.執(zhí)行make,之后會(huì)在./modules/目錄下生成curl.so文件
6.執(zhí)行make install
結(jié)果類似:
Installing shared extensions: /usr/local/php7.0/lib/php/20151012/
執(zhí)行結(jié)果告訴你將curl.so安裝到了哪個(gè)目錄。
一般情況,如果你正確的指定了php-config或者你的機(jī)器只有一個(gè)php版本,so都會(huì)被正確安裝到相應(yīng)php的extension_dir。如果執(zhí)行make install后,extension_dir目錄下沒有相應(yīng)的so,可以手動(dòng)將第5步中生成的so文件cp過去。
要查看具體extension_dir,可以執(zhí)行如下命令。
php -i| grep extension_dir
結(jié)果類似
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.執(zhí)行如下命令,查看是否安裝成功
php -m | grep curl
如果你看到了curl, 恭喜你,安裝成功!
注意:如果你是使用fpm,apache等方式執(zhí)行php。在修改相應(yīng)的php.ini后,還需要重新啟動(dòng)fpm或apache,新的擴(kuò)展才會(huì)生效
更多PHP相關(guān)知識(shí),請(qǐng)?jiān)L問PHP中文網(wǎng)!
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com