CentOS下php加擴充套件功能

2021-06-13 10:20:37 字數 4083 閱讀 5635

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

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

libmcrypt(libmcrypt-2.5.8.tar.gz ):

mcrypt(mcrypt-2.6.8.tar.gz ):

mhash(mhash-0.9.9.9.tar.gz 

):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擴充套件庫。

Centos下安裝PHP擴充套件

root redis wget 解壓壓縮包 root redis tar xzf redis 4.0.0rc2.tgz 切換進解壓後的檔案目錄 root redis cd redis 4.0.0rc2 生成.configure 這個配置檔案 root redis redis 4.0.0rc2 usr...

CentOS下php安裝mcrypt擴充套件

原始碼編譯安裝 libmcrypt libmcrypt 2.5.8.tar.gz mcrypt mcrypt 2.6.8.tar.gz mhash mhash 0.9.9.9.tar.gz wget wget wget 安裝lmcrypt tar zxvf libmcrypt 2.5 8.tar g...

CentOs下安裝PHP擴充套件curl

伺服器執行一段時間後,可能突然會需求新增某個擴充套件,如curl pdo xmlrpc等,這就需要在不重新編譯linux php的情況下獨立新增擴充套件。1.安裝crul wget tar zxvf curl 7.19.6.tar.gz cd curl 7.19.6 configure prefix...