From:http://my.oschina.net/junn/blog/158684
phpize簡介
phpize 是屬於 php-devel 中的東西,主要是設定 php 外掛模塊的一些設定
所以安裝 php-devel 相關套件就會有 phpize 可以使用 (檔案預設存放於 /usr/bin/phpize )
phpize 命令是用來准備 PHP 外掛模塊的編譯環境的。下面例子中,外掛模塊的源程序位於extname 目錄中 :
$ cd extname
$ phpize
$ ./configure ( 注一)
$ make
$ make install
成功的安裝將建立 extname.so 並放置於 PHP 的外掛模塊目錄中 (預設存放於 /usr/lib/php/modules/ 內) 。
需要調整 php.ini,加入 extension=extname.so 這一行之后才能使用此外掛模塊。
注一:
如在執行 ./configure 時出現 not find –with-php-config 時,
可重下以下指令,因 –with-php-config 預設在 /usr/bin/php-config 可找到
./configure –with-php-config=/usr/bin/php-config
需要調整 php.ini,加入 extension=extname.so 這一行之后才能使用此擴展庫。
phpize給PHP動態添加擴展
使用php的常見問題是編譯php時忘記添加某擴展,后來想添加擴展,但是因為安裝php后又裝了一些東西如PEAR等,不想刪除目錄重裝,這里就需要用到phpize了。
如我想增加bcmath擴展的支持,這是一個支持大整數計算的擴展。windows自帶而且內置,linux“本類函數僅在 PHP 編譯時配置了 --enable-bcmath 時可用”(引號內是手冊中的話)
注意,有些擴展需要和php的版本保持一致才可以的.
解壓bcmath包,進入里面的ext/bcmath目錄,然后執行/usr/local/php/bin/phpize,phpize在php安裝完以后會有這個命令的, 會發現當前目錄下多了一些configure文件,然后再執行./configure命令即可.
|
1
2
|
#/usr/local/php/bin/phpize
#./configure --with-php-config=/usr/local/php/bin/php-config
|
注意要先確保/usr/local/php/bin/php-config存在。 (如果你的php安裝路徑不是默認的,請修改為php安裝的路徑)
如果沒有報錯,則make,再make install ,然后它告訴你一個目錄.
|
1
2
|
#make
#make install
|
你把該目錄下的bcmath.so拷貝到你php.ini中的extension_dir指向的目錄中,
修改php.ini,在最后添加一句
|
1
|
extension=bcmath.so
|
重啟WEB服務,再執行phpinfo(),驚喜發現:
到此bcmath擴展已經安裝成功!
另附:
Linux下利用phpize安裝php擴展
php有很多擴展功能,我們在初次安裝的時候並沒有安裝某些擴展,可能在使用的過程中,又需要用到這些擴展。php提供了一個phpize工具供我們安裝需要的擴展。
下面我通過安裝socket擴展來介紹phpize的使用:
1.找到自己的php安裝目錄,例如我的目錄是home/vsrank/php,在該目錄下,找到bin/phpize。如果沒有這個工具,則說明沒有安裝該工具,那么需要安裝php.dev,一般都會有這個工具。
2.要擴展的話,就需要有一個和當前已安裝的php的版本一樣的php的源包,當前php版本可以用過phpinfo()查看。就是初次安裝后查看安裝是否成功的那個test.php。
3.打開源包目錄,進入到ext目錄,例如我就進入到:/home/vsrank/php-5.3.10/ext下,ext下有各個php帶有的擴展模塊,進入到ext/sockets中。
4.cd到ext/sockets后,執行下面的命令:
|
1
|
/home/vsrank/php/bin/phpize
|
即執行phpize工具,執行后,可以看到目錄下生成了對應的configure文件:
5.現在就可以通過configure來配置,執行下面的命令:
|
1
2
3
4
5
|
.
/configure
--
enable
-sockets --with-php-config=
/home/vsrank/php/bin/php-config
make
make
install
|
執行之后,可以看到下面的輸出:
|
1
2
|
Installing shared extensions:
/home/vsrank/php/lib/php/extensions/no-debug-non-zts-20090626/
Installing header files:
/home/vsrank/php/include/php/
|
第一個就是擴展模塊的生成目錄,可以在對應目錄下看到對應的sockets.so文件。
6.更改php.ini,增加下面的語句:
|
1
|
extension=
"/home/vsrank/php/lib/php/extensions/no-debug-non-zts-20090626/sockets.so"
|
可以看到和上面的輸出是一致的。
7.重啟Apache,接下來就可以看看自己的socket是不是配置好了。。

