php中的phpize是什麼作用的文件? php phpize用於安裝軟件擴展

安裝php(fastcgi模式)的時候,常常有這樣一句命令:/usr/local/webserver/php/bin/phpize

一、phpize是幹嘛的?

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

http://php.net/manual/en/install.pecl.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”

phpize 是屬於 php-devel 中的東西,主要是設定 php 外掛模塊的一些設定

例如你的php不支持mysql, mbstring等

實例應用:
環境php5.2.6, 不支持mysql擴展
假如php的源碼包在/usr/local/src/php-5.2.6
php安裝目錄是/usr/local/php

# cd /usr/local/src/php-5.2.6
# cd ./ext/mysql
# /usr/local/php/bin/phpize

# ./configure –with-php-config=/usr/local/php/bin/php-config
# make
# make install
這個時候你會看到mysql.so被拷貝到某個目錄, 把mysql.so拷貝到你的extension_dir指向的路徑, 在php.ini裏增加extension=mysql.so
重啓web服務器, 看一下phpinfo, 應該支持mysql了, 完畢!

注意: 在執行/usr/local/php/bin/phpize的時候可能會提示某些錯誤, 例如:Cannot find autoconf, 那就根據錯誤提示把相關的軟件安裝, RHEL系列使用yum -y install autoconf就可以了
其他錯誤, 請留言給我!

所以安裝 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 這一行之後才能使用此擴展庫。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章