Linux下為已編譯安裝的PHP安裝乙個新模組

2021-07-07 03:48:07 字數 1569 閱讀 8131

我們可能經常會遇到這樣的問題,就是花了比較長的時間把php環境安裝完之後發現有乙個必須的模組忘記加到配置裡面,或者在經過一段時間之後發現自己需要用到php的某個模組或外掛程式模組,這時候總不可能把已經安裝好的php解除安裝了重新安裝在安裝時將模組配置進去吧?這樣感覺很傻的樣子。之前我就遇到這樣的問題,在朋友的慫恿下還真的把php解除安裝了重新安裝過【囧】...然而事實上並不用這樣,我們可以在原來的基礎上進行模組新增的。

有童鞋可能會發現php安裝目錄中 /usr/local/php/bin 下存在 phpize 這樣乙個可執行檔案,它就跟安裝php模組有關,那麼 phpize是什麼呢?

php官方的說明:

phpize是用來擴充套件php擴充套件模組的,通過phpize可以建立php的外掛程式模組。比如你想在原來編譯好的php中加入memcache或者imagemagick等擴充套件模組,可以使用phpize,通過以下幾步進行操作。(下面以安裝memcache為例)

1. 首先確定該擴充套件是否為php原始碼中已經整合的,具體可以進入原始碼包對應目錄如 /tmp/php-5.6.15/ext 中查詢

# cd /tmp/php-5.6.15/ext

# ll | grep memcache

# wget

# tar -zxf memcache-2.2.7.tgz

(注意:我們安裝的是php的memcache模組,而不是memcached程式,實際要使memcache模組生效,還需要安裝memcached程式)

2. 進入安裝包中,執行phpize,產生configure可執行檔案

# cd [目錄]/memcache

# phpize (或/usr/local/php/bin/phpize)

3. 執行可執行檔案 configure

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

4. make 安裝

# make

# make install

執行上述步驟後顯示 :installing shared extensions:  /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/ ,說明memcache擴充套件已經安裝到上述目錄下了,進入檢視,確實已經存在了

5. 最後一步是修改php.ini配置檔案使新模組生效

# vi /usr/local/php/etc/php.ini

在 dynamic extensions(動態擴充套件) 那部分下面新增 extension=memcache.so,儲存後退出,重啟php

執行php命令檢視memcache模組是否載入成功

# php -m

若出現memcache 則模組成功安裝。

注:當安裝php外掛程式擴充套件時,上面的第三步可能會出現如下的錯誤:

cannot find config.m4. 

make sure that you run '/usr/local/php-5.6.15/bin/phpize' in the top level source directory of the module

檢查下是否已經進入你所要安裝的擴充套件目錄。

centos下編譯安裝Apache和PHP

注 本環境為lamp 1.安裝阿帕奇之前先安裝所需的執行庫 root tars pcf src tar jxvf apr 1.5.0.tar.bz2 root kaka apr 1.5.0 cd apr 1.5.0 root kaka apr 1.5.0 configure prefix usr l...

mac下為eclipse安裝反編譯外掛程式

1.開啟這個 找到 2.解壓縮得到一些檔案,資料夾。其中反編譯要用到的有,features 資料夾下的jar檔案 plugins 資料夾下的jar檔案。3.將這個兩個jar分別放到eclipse安裝資料夾下對應的features plugins資料夾內。4.重新啟動eclipse。5.eclipse...

原創 mac下為eclipse安裝反編譯外掛程式

1.開啟這個 找到 2.解壓縮得到一些檔案,資料夾。其中反編譯要用到的有,features 資料夾下的jar檔案 plugins 資料夾下的jar檔案。3.將這個兩個jar分別放到eclipse安裝資料夾下對應的features plugins資料夾內。4.重新啟動eclipse。5.eclipse...