linux下用phpize給PHP動態新增擴充套件

2022-01-11 19:54:02 字數 1456 閱讀 6973

原文:

使用php的常見問題是:編譯php時忘記新增某擴充套件,後來想新增擴充套件,但是因為安裝php後又裝了一些東西如pear等,不想刪除目錄重灌,別說,php還真有這樣的功能。

我沒有在手冊中看到。

如我想增加bcmath支援,這是乙個支援大整數計算的擴充套件。windows自帶而且內建,linux「本類函式僅在 php 編譯時配置了 --enable-bcmath 時可用」(引號內是手冊中的話)

幸好有phpize,

方法是,要有與現有php完全相同的php壓縮包。我用的是php-5.2.6.tar.gz。

展開後進入裡面的ext/bcmath目錄

然後執行/usr/local/php/bin/phpize,這是乙個可執行的文字檔案,要確保它在系統中

會發現當前目錄下多了一些configure檔案,

如果沒報錯,則

php**

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

注意要先確保/usr/local/php/bin/php-config存在。

如果你的php安裝路徑不是預設的,要改。

如果沒有報錯,則make,再make install ,然後它告訴你乙個目錄

你把該目錄下的bcmath.so拷貝到你php.ini中的extension_dir指向的目錄中,

修改php.ini,在最後新增一句extension=bcmath.so

重啟apache

一、phpize是幹嘛的?

phpize是什麼東西呢?php官方的說明:

phpize是用來擴充套件php擴充套件模組的,通過phpize可以建立php的外掛程式模組

比如你想在原來編譯好的php中加入memcached或者imagemagick等擴充套件模組,可以使用phpize,通過以下幾步工作。

二、如何使用phpize?

當php編譯完成後,php的bin目錄下會有phpize這個指令碼檔案。在編譯你要新增的擴充套件模組之前,執行以下phpize就可以了;

比如現在想在php中加入memcache擴充套件模組:我們要做的只是如下幾步

————————————————————————

tar zxvf memcache-2.2.5.tgz

cd memcache-2.2.5/

/usr/local/webserver/php/bin/phpize

./configure –with-php-config=/usr/local/webserver/php/bin/php-config

make

make install

————————————————————————

注意./configure 後面可以指定的是php-config檔案的路徑

這樣編譯就完成了,還需要做的是在php.ini檔案中加入extension值

extension = 「memcache.so」

linux下用phpize給PHP動態新增擴充套件

使用php的常見問題是 編譯php時忘記新增某擴充套件,後來想新增擴充套件,但是因為安裝php後又裝了一些東西如pear等,不想刪除目錄重灌,別說,php還真有這樣的功能。我沒有在手冊中看到。如我想增加bcmath支援,這是乙個支援大整數計算的擴充套件。windows自帶而且內建,linux 本類函...

linux下用phpize給PHP動態新增擴充套件

使用php的常見問題是 編譯php時忘記新增某擴充套件,後來想新增擴充套件,但是因為安裝php後又裝了一些東西如pear等,不想刪除目錄重灌,別說,php還真有這樣的功能。我沒有在手冊中看到。如我想增加bcmath支援,這是乙個支援大整數計算的擴充套件。windows自帶而且內建,linux 本類函...

linux下用phpize給PHP動態新增擴充套件

使用php的常見問題是 編譯php時忘記新增某擴充套件,後來想新增擴充套件,但是因為安裝php後又裝了一些東西如pear等,不想刪除目錄重灌,別說,php還真有這樣的功能。我沒有在手冊中看到。如我想增加bcmath支援,這是乙個支援大整數計算的擴充套件。windows自帶而且內建,linux 本類函...