php編譯後還能加擴充套件功能嗎
能加擴充套件。
php自身提供了很多擴充套件,比如curl,gmp, mbstring等。我們在編譯安裝php時未必安裝了所有擴充套件。那麼在安裝完php後,如果想單獨安裝某個php自身的擴充套件怎麼辦呢?我們以curl擴充套件模組的安裝為例說明如何單獨新增擴充套件。
步驟:
1.進入php原始碼的擴充套件目錄。本例中我的原始碼對應目錄如下:
/search/src/php-7.0.14/ext
2.進入模組目錄,我們安裝的是curl擴充套件,所以進入curl目錄。此時,我們所在的目錄是
/search/src/php-7.0.14/ext/curl
3.執行phpize。注意,如果你的機器上有多個php版本,一定要執行你準備安裝擴充套件的php版本對應的phpize。比如,我的機器上同時有php7和php5.3.3。我當前準備為php7安裝curl擴充套件。所以執行php7對應的phpize
/usr/local/php7.0/bin/phpize
結果類似:
Configuring for: PHP Api Version: 20151012 Zend Module Api No: 20151012 Zend Extension Api No: 320151012
4.執行./configure
./configure --with-php-config=/usr/local/php7.0/bin/php-config
說明:如果你的機器上只有一個php版本,大多時候不需要特別使用–with-php-config指明相應的php-config所在位置。
5.執行make,之後會在./modules/目錄下生成curl.so檔案
6.執行make install
結果類似:
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,新的擴充套件才會生效
以上就是php編譯後還能加擴充套件功能嗎的詳細內容,更多請關注TW511.COM其它相關文章!