最近由於工作的原因需要自己搭建一台開發環境,在部署**的時候發現有許多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:
memcached:
2.memcache是原生實現的,支援oo和非oo兩套介面並存。而memcached是使用libmemcached,只支援oo介面。
3.memcached還有個非常稱讚的地方,就是flag不是在操作的時候設定了,而是有了乙個統一的setoption()。memcached實現了更多的memcached協議。
4.memcached支援binary protocol,而memcache不支援。這意味著memcached會有更高的效能。不過memcached目前還不支援長連線。
安裝memcache比較簡單
安裝memcache服務
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擴充套件
這一步可以到這樣看 這裡說得比較詳細一點
三、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;
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下安裝軟體各種依賴包本來就很複雜,不通的版本可能還需要安裝一些其他的
安裝和使用php的mcrypt擴充套件
php程式設計師們在編寫 程式時,除了要保證 的高效能之外,還有一點是非常重要的,那就是程式的安全性保障。php除了自帶的幾種加密函式外,還有功能更全面的php加密擴充套件庫mcrypt和mhash。其中,mcrypt擴充套件庫可以實現加密解密功能,就是既能將明文加密,也可以密文還原。php加密擴充...
php擴充套件安裝
以前以為php的擴充套件要重新編譯php,今天在群友的指點下知道可以像apache模組一樣動態擴充套件,以mcrypt舉例。進入要安裝的擴充套件的原始碼目錄 cd root php 5.2.6 ext mcrypt 執行phpize usr local php5 bin phpize ansi ro...
PHP 新版的mongodb擴充套件安裝和使用
舊版的mongo擴充套件已經不推薦使用了,在php7以上一般是安裝和使用新版的mongodb擴充套件 ubuntu下 apt get install php mongodb 例如下面的 進行了查詢和插入集合操作 class docmodel 新增文件模型 public function addmod...