CentOS下php加擴充功能

來源:互聯網
上載者:User

首先使mcrypt軟體能夠運行,然後安裝php擴充模組,並在php.ini配置。

這裡注意的是mcrypt軟體依賴libmcrypt和mhash兩個庫,所以安裝配置順序從右至左

I 下載安裝mcrypt

1.先去http://www.sourceforge.net 下載Libmcrypt,mhash,mcrypt安裝包 ,下面是我找到的連結

Libmcrypt(libmcrypt-2.5.8.tar.gz ):http://sourceforge.net/project/showfiles.php?group_id=87941&package_id=91774&release_id=487459

mcrypt(mcrypt-2.6.8.tar.gz ):

http://sourceforge.net/project/showfiles.php?group_id=87941&package_id=91948&release_id=642101

mhash(mhash-0.9.9.9.tar.gz ):http://sourceforge.net/project/showfiles.php?group_id=4286&package_id=4300&release_id=645636

2 .先安裝Libmcrypt

#tar -zxvf libmcrypt-2.5.8.tar.gz

#cd libmcrypt-2.5.8

#./configure

#make

#make install

說明:libmcript預設安裝在/usr/local/lib

3.安裝mhash

#tar -zxvf mhash-0.9.9.9.tar.gz

#cd mhash-0.9.9.9

#./configure

#make

#make install

4.安裝mcrypt

#tar -zxvf mcrypt-2.6.8.tar.gz

#cd mcrypt-2.6.8

#LD_LIBRARY_PATH=/usr/local/lib ./configure

#make

#make install

說明:由於在配置Mcrypt時,會找不到libmcrypt的連結庫,導致無法編譯,因為Libmcrypt的連結庫在/usr/local/lib/檔案夾 下。因些在配置mcrypt時要加入LD_LIBRARY_PATH=/usr/local/lib匯入鍵接庫

II. 安裝PHP擴充模組

接著就要為PHP添加mcrypt模組了

1. 靜態編譯

在任意PHP檔案中加入函數 phpinfo(),即可取得目前PHP的配置
在這些配置後面新增需要加入的配置:’–with-mcrypt=/usr/local/include’
然後進入php原始碼目錄,執行這條完整的configure命令

配置完成,下面進行源碼包的製作和安裝

make clean (一定需要)
make
make install

2. 動態載入【推薦】
使用php的常見問題是:編譯php時忘記添加某擴充,後來想添加擴充,但是因為安裝php後又裝了一些東西如PEAR等,不想刪除目錄重裝,於是可以采 用phpize。方法是:

要有與現有php完全相同的php壓縮包 。 我用的是php-5.2.6.tar.gz。 展開後進入裡面的ext/mcrypt目錄 (裡面是mcrypt的php擴充),然後執行/usr/local/php/bin/phpize。phpize是安裝php時安裝好的一個工具,如果 你的機器沒有安裝phpize工具,那麼可能還是要make,make install php,這僅僅為了得到phpize.

執行完後,會發現目前的目錄下多了一些configure檔案, 如果沒報錯,則根據提示運行

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

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

make

make install

make install 之後 系統會提示你mcrypt.so檔案所在的目錄。根據php.ini中指示的extension_dir指向的目錄中, 將其複製過去(或把=後面的路徑改為make install結果提示的那個路徑 如:/usr/local/services/php-5.3.5/lib/php/extensions/no-debug-non-zts-20090626/)。修改php.ini,在最後添加一句extension=mcrypt.so

最後重啟apache服務chakan PHPINFO即可

我在安裝magento的時候遇到了系統需要的擴充沒有安裝

1、mcrypt
2、pdo_mysql
3、curl
.....
其實,基本上大部分擴充 在php的源碼安裝包裡面都是有的(在ext/裡面的).
添加擴充的基本步驟:
1、進入到安裝包檔案夾你要添加的擴充ext/../裡面.比如要添加mcrypt擴充,就進入ext/mcrypt裡面。example:[root@localhost ~]# cd /usr/local/src/php-5-2-13/mcrypt/
2、調用你已經編譯好的php裡面的phpize.example:[root@localhost mcrypt]# /usr/local/php/bin/phpize
3、然後configure. example:[root@localhost mcrypt]# ./configure --with-php-config=/usr/local/php/bin/php-config
4、make ,make install
5、 修改 php.ini
加入 extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/副檔名
     example: extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/mcrypt.so

6、重啟apache (apache/bin/apachectl -k restart)

大功告成!

註:pdo_mysql擴充安裝的配置參數
./configure –with-php-config=/usr/local/php5/bin/php-config –with-pdo-mysql=/usr/local/mysql

還有另一種方法

本次編譯只是單獨編譯php的擴充庫,然後將編譯好的php擴充庫加到現在啟動並執行php中,不對現在啟動並執行php重新編譯,所以對現在啟動並執行php沒有任何影響。

假如原先編譯的php目錄在/usr/local/php4目錄下;apache在/usr/local/apache2目錄下;php原始碼在/home/php-4.4.7目錄下。如果實際目錄與假定的目錄不一致,則在下面的命令中做調整。

1. 找到當前啟動並執行php版本的原始碼目錄,如 php-4.4.7。進入curl擴充庫目錄。
$cd /home/php-4.4.7/ext/curl

2. 調用phpize程式產生編譯設定檔。
$/usr/local/php4/bin/phpize

3. 編譯擴充庫,分別執行下面的configure和make命令。
$./configure -with-php-config=/usr/local/php4/bin/php-config
##configure這一步執行通過後,再執行make命令,如果configure執行不通過,則尋找錯誤原因。
$make
##make成功執行後,產生的擴充庫檔案在目前的目錄的 modules 子目錄下,
    如 /home/php-4.4.7/ext/curl/modules/curl.so

4. 配置php.ini檔案
##將編譯好的擴充庫檔案複製到apache2 modules目錄下。
$cp /home/php-4.4.7/ext/curl/modules/curl.so /usr/local/apache2/modules/.
##可以通過查看phpinfo資訊來確定php.ini檔案位置,然後編輯。
##在php.ini檔案中找到設定擴充目錄的位置,然後將擴充路徑設定到apache2 modules目錄下。
   extension_dir = “/usr/local/apache2/modules/”
##在php.ini的添加擴充庫位置,設定要添加的擴充庫。
   extension=curl.so
##以後如果還要添加別的擴充庫的話,則只需先將php擴充庫編譯好,然後copy到apache2 modules目錄下,
##然後再在這個位置,添加一行將編譯後的擴充庫檔案名稱加上即可。

5. 重啟apache,查看phpinfo資訊,即可看到剛才添加進去的curl擴充庫。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.