Linux下编译安装PHP的PECL扩展
15292017-06-21 18:35:00返回列表
PECL是PHP的高性能C扩展,比如当前很火热的扩展YAF,就是鸟哥编写的一个PECL的PHP框架,性能相当出色。 在网站对性能有很高要求的情况下,使用PECL中的库或者自己实现PHP C扩展,是很好的选择。
PECL是PHP的高性能C扩展,比如当前很火热的扩展YAF,就是鸟哥编写的一个PECL的PHP框架,性能相当出色。 在网站对性能有很高要求的情况下,使用PECL中的库或者自己实现PHP C扩展,是很好的选择。
PECL的扩展,可以使用命令来安装,我主要分享下编译安装 首先到PECL的网站,找到自己需要的扩展包,下载到本地,解压之,比如解压后的路径是 your-dir/ext-dir. 进入扩展源码的目录, cd your-dir/ext-dir。 在目录中运行 phpize 命令(phpize在你php的安装路经下的bin目录里),生成 configure文件 运行configure,强烈建议加上参数 --with-php-config
./configure --with-php-config=[your-php-bin-dir/php-config]
然后就是
make
make install
最后在php.ini文件中加入配置项
extension=extname.so 其中extname.so是你编译好哦生成的扩展名称,请自行更换
例子安装 redis扩展安装
wget http://pecl.php.net/get/redis-2.2.5.tgz
下载下来然后到相应的目录下面
tar xf redis-2.2.5.tgz (解压压缩包)
cd redis-2.2.5
然后执行:/usr/local/php/bin/phpize
进行初始化
然后执行下面语句
./configure --with-php-config=/usr/local/php/bin/php-config
make (编译)
sudo make install (安装 这返回:Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/)
然后执行修改php.ini
sudo vim /usr/local/php/etc/php.ini
在php.ini中添加如下两句
extension_dir = /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/
extension = redis.so
然后重启PHP
sudo /etc/init.d/php-fpm restart
redis库安装
wget http://download.redis.io/releases/redis-3.0.7.tar.gz (下载)
tar xzf redis-3.0.7.tar.gz (解压)
cd redis-3.0.7 (进入解压目录)
make (编译安装)
src/redis-server
src/redis-cli
wget http://pecl.php.net/get/memcached-2.2.0.tgz
tar xf memcache-2.2.7.tgz
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
brew install pkg-config
./configure --with-php-config=/usr/local/php/bin/php-config
./configure --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir=/opt/zlib
make
sudo make install
sudo /etc/init.d/php-fpm restart
sudo vim /etc/php.ini
extension_dir = /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/
extension = memcached.so
sudo /etc/init.d/php-fpm restart