php幾個常見擴充的安裝使用

來源:互聯網
上載者:User

最近由於工作的原因需要自己搭建一台開發環境,在部署代碼的時候發現有許多php擴充沒有安裝,我就根據錯誤資訊一步一步的安裝了一些擴充

php可以在編譯php的時候安裝相應擴充,也可以在以後的時候在編譯進去,在實際應用中大部分的擴充都是後續添加的,不然一次編譯帶著那麼多的--with-也不好處理,後續添加編譯擴充的時候php為我們提供了phpize工具

php的大部分擴充源碼都放在php源碼下ext下的相應目錄下面 例如:php-5.3.8/ext/curl下面存放的時候安裝curl擴充時所需要的源檔案

一、pdo擴充

POD擴充是在PHP5中加入,該擴充提供PHP內建類 PDO來對資料庫進行訪問,不同資料庫使用相同的方法名,解決資料庫連接不統一的問題。
PDO的目標

提供一種輕型、清晰、方便的 API
統一各種不同 RDBMS 庫的共有特性,但不排除更進階的特性。
通過 PHP 指令碼提供可選的較大程度的抽象/相容性。

安裝pdo擴充相對比較簡單

cd php-5.3.8/ext/pdo_mysql

/usr/loca/php/bin/phpize

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

make && make install

編譯完成之後會產生一個.so檔案,開啟php.ini檔案添加擴充重啟服務即可 extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/"   這個路徑已最終編譯產生的路徑為準

extension=curl.so

二、memcache擴充

在安裝該擴充的時候遇到了個問題,就是memcache和memcached

1.目前大多數php環境裡使用的都是不帶d的memcache版本,這個版本出的比較早,是一個原生版本,完全在php架構內開發的。
  與之對應的帶d的memcached是建立在libmemcached的基礎上,所以相對來說,memcached版本的功能更全一些。
  memcache:http://cn2.php.net/manual/en/book.memcache.php
  memcached:http://cn2.php.net/manual/en/book.memcached.php
2.Memcache是原生實現的,支援OO和非OO兩套介面並存。而memcached是使用libmemcached,只支援OO介面。
3.memcached還有個非常稱讚的地方,就是flag不是在操作的時候設定了,而是有了一個統一的setOption()。Memcached實現了更多的memcached協議。
4.memcached支援Binary Protocol,而memcache不支援。這意味著memcached會有更高的效能。不過memcached目前還不支援長串連。
安裝memcache比較簡單

安裝memcache服務

1). 下載libevent & memcached 源碼包
    libevent-1.3.tar.gz
    memcached-1.2.2.tar.gz


2). 解壓縮 libevent-1.3.tar.gz ,編譯安裝
      # tar zxvf  libevent-1.3.tar.gz
    # cd libevent-1.3
    # ./configure --prefix=/usr/local/libevent
    # make ; make install

3)安裝memcache
# tar zxvf memcached-1.2.2.tar.gz
    # cd memcached-1.2.2
    # ./configure --prefix=/usr/local/memchached --with-libevent=/usr/local/libevent
    # make;make install

測試memcache服務正常

/usr/local/memcached/bin/memcached -d -m 256 -p 11211 -u root

4)安裝php擴充

# tar zxf memcache-2.2.3.tgz
# cd memcache-2.2.3
# /usr/local/servers/php5/bin/phpize
# ./configure --enable-memcache=/usr/local/servers/memcached --with-php-config=/usr/local/servers/php5/bin/php-config
# make && make install

安裝memcached擴充

這一步可以到這樣看  http://techbbs.zol.com.cn/1/9_3174_uid_popslay.html,這裡說得比較詳細一點


三、mcrypt擴充的安裝

PHP程式員們在編寫代碼程式時,除了要保證代碼的高效能之外,還有一點是非常重要的,那就是程式的安全性保障。PHP除了內建的幾種加密函數外,還有功能更全面的PHP加密擴充庫Mcrypt和Mhash。
其中,Mcrypt擴充庫可以實現加密解密功能,就是既能將明文加密,也可以密文還原。PHP加密擴充庫Mcrypt的演算法和加密模式
Mcrypt庫支援20多種密碼編譯演算法和8種加密模式,具體可以通過函數mcrypt_list_algorithms()和mcrypt_list_modes()來顯示,結果如下:
Mcrypt 支援的演算法有:cast-128 gost rijndael-128 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 tripledes
Mcrypt支援的加密模式有:cbc cfb ctr ecb ncfb nofb ofb stream
這些演算法和模式在應用中要以常量來表示,寫的時候加上首碼MCRYPT_和MCRYPT_來表示,如下面Mcrypt應用的例子:
DES演算法表示為MCRYPT_DES;
ECB模式表示為MCRYPT_MODE_ECB;

首先要下載三個軟體,分別是
libmcrypt-2.5.8.tar.gz
mhash-0.9.9.tar.gz

mcrypt-2.6.8.tar.gz

在安裝mcrypt之前先安裝號libmcrypt和mhash

# tar -xvf libmcrypt-X.X.X.tar
# cd libmcrypt-X.X.X
# ./configure

# tar -xvf mhash-X.X.X.tar
# cd mhash-X.X.X
# ./configure

# ldconfig

#tar -xvf mcrypt.x.x.xtar

#cd mcrypt

#./configure --prefix=/usr/loca/mcrypt

make && make install

 cd php/ext/mcrypt

phpize

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

make && make install

擴充安裝的方法網上有很多,這幾個我按照這個步驟親測過是可行的,當然,linux下安裝軟體各種依賴包本來就很複雜,不通的版本可能還需要安裝一些其他的





聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.