php几个常见扩展的安装使用

来源:互联网 发布:Linux测试telnet 编辑:程序博客网 时间:2024/05/16 07:47

最近由于工作的原因需要自己搭建一台开发环境,在部署代码的时候发现有许多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下安装软件各种依赖包本来就很复杂,不通的版本可能还需要安装一些其他的





原创粉丝点击