php更新插件,unbutu升级php和安装php扩展插件

ubuntu升级php和安装php扩展

我想说的话:

虽然对已一个运维来说,升级个php安装个扩展是很简单的事情,但我还是把这次升级的过程完整记录下来(每个插件都带有wget下载地址,这是我的初衷),这样再次安装扩展插件时就省事多了,不至于每个插件去趟官网找下载地址。

=======================废话不多说,开始======================

php升级5.3.24到5.4.34

首先查看原版本的php编译参数:root@develop:~# /usr/local/php/bin/php -i | grep configure

./configure  '--prefix=/usr/local/php-5.3.24/' \

'--with-config-file-path=/usr/local/php-5.3.24/etc' \

'--with-freetype-dir' '--with-jpeg-dir' '--with-png-dir' \

'--with-zlib' '--enable-xml' '--with-curl' '--with-curlwrappers' \

'--enable-mbregex' '--enable-mbstring' '--with-openssl' \

'--enable-sockets' '--enable-zip' '--disable-ipv6' \

'--with-pear' \

'--enable-fpm' \

'--with-fpm-user=www' \

'--with-fpm-group=www' \

'--with-mysql=/usr/local/mysql' \

'--with-mysqli=mysqlnd' \

'--enable-soap' \

'--with-pdo-mysql' \

'--enable-pcntl' \

'--with-gd' '--with-xmlrpc' '--with-iconv' '--with-mcrypt'

升级php要注意php的编译参数要相同。要带上版本号,然后使用软连接访问。

开始升级:cd /usr/local/src/

wget http://cn2.php.net/distributions/php-5.4.34.tar.gz

tar zxf php-5.4.34.tar.gz

cd php-5.4.34

./configure  '--prefix=/usr/local/php-5.4.34/' \

'--with-config-file-path=/usr/local/php-5.4.34/etc' \

'--with-freetype-dir' '--with-jpeg-dir' '--with-png-dir' \

'--with-zlib' '--enable-xml' '--with-curl' '--with-curlwrappers' \

'--enable-mbregex' '--enable-mbstring' '--with-openssl' \

'--enable-sockets' '--enable-zip' '--disable-ipv6' \

'--with-pear' \

'--enable-fpm' \

'--with-fpm-user=www' \

'--with-fpm-group=www' \

'--with-mysql=/usr/local/mysql' \

'--with-mysqli=mysqlnd' \

'--enable-soap' \

'--with-pdo-mysql' \

'--enable-pcntl' \

'--with-gd' '--with-xmlrpc' '--with-iconv' '--with-mcrypt'

make

其中make步骤报错如下:ext/iconv/.libs/iconv.o: In function `php_iconv_stream_filter_ctor':

/home/king/php-5.2.13/ext/iconv/iconv.c:2491: undefined reference to `libiconv_open'

collect2: ld returned 1 exit status

make: *** [sapi/cli/php] Error 1

解决:参考:http://blog.csdn.net/sflsgfs/article/details/6318583

在安裝 PHP 到系统中时要是发生「undefined reference to libiconv_open'」之类的错误信息,那表示在「./configure 」沒抓好一些环境变数值。错误发生点在建立「-o sapi/cli/php」是出错,没給到要 link 的 iconv 函式库参数。

解决方法:编辑Makefile 大约77 行左右的地方: EXTRA_LIBS = ..... -lcrypt 在最后加上 -liconv,

例如: EXTRA_LIBS = ..... -lcrypt -liconv

然后重新再次 make 即可。

继续升级:make

make install

cd ..

编译完成有如下提示:

Wrote PEAR system config file at: /usr/local/php-5.4.34/etc/pear.conf

You may want to add: /usr/local/php-5.4.34/lib/php to your php.ini include_path

/usr/local/src/php-5.4.34/build/shtool install -c ext/phar/phar.phar /usr/local/php-5.4.34/bin

ln -s -f /usr/local/php-5.4.34/bin/phar.phar /usr/local/php-5.4.34/bin/phar

Installing PDO headers:          /usr/local/php-5.4.34/include/php/ext/pdo/

====================升级完成,开始配置php===========================

1) 拷贝源码包目录下的php.ini参考文件到安装目录的etc目录下cp /usr/local/src/php-5.4.34/php.ini-production  /usr/local/php-5.4.34/etc/php.ini

修改php.ini参数(参考已有的5.3.24的php.ini)

2 )配置生产php-fpm配置文件root@develop:/usr/local/php-5.4.34/etc# pwd

/usr/local/php-5.4.34/etc

root@develop:/usr/local/php-5.4.34/etc# cp php-fpm.conf.default php-fpm1.conf

修改 php-fpm1.conf (参考已有的5.3.24的php-fpm1.conf)

3)配置完成后,创建软连接ln -s /usr/local/php-5.4.34/ /usr/local/php

4 )查看就版本安装的php扩展,为新版本的php安装扩展插件

旧版本安装的php安装扩展如下:extension=redis.so

extension=eaccelerator.so

;extension=memcached.so

extension=memcache.so

extension=gearman.so

extension=trie_filter.so

extension=mongo.so

======================开始安装php扩展====================

1 redis扩展安装cd /usr/local/src/

wget https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz

tar zxf 2.2.4.tar.gz

cd phpredis-2.2.4/

/usr/local/php/bin/phpize

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

make

make install

cd ..

检查:(出现redis.so表示正确)ll /usr/local/php-5.4.34/lib/php/extensions/no-debug-non-zts-20100525/

配置php支持:vim /usr/local/php/etc/php.ini

#修改扩展模块路径

extension_dir = "/usr/local/php-5.4.34/lib/php/extensions/no-debug-non-zts-20100525/"

# 添加支持

extension="redis.so"

重启php和nginx(最后统一重启)

2 安装eaccelerator插件cd /usr/local/src/

wget https://codeload.github.com/eaccelerator/eaccelerator/legacy.tar.gz/master

tar zxf master

cd eaccelerator-eaccelerator-42067ac/

/usr/local/php/bin/phpize

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

make

make install

cd ..

echo 'include /usr/lib/php/modules/*.so' >>  /etc/ld.so.conf

修改/usr/local/php/ect/php.ini添加如下配置:[eaccelerator]

zend_extension_ts="/usr/local/php-5.4.34/lib/php/extensions/no-debug-non-zts-20100525/eaccelerator.so"

eaccelerator.shm_size="32"

eaccelerator.cache_dir="/tmp/eaccelerator"

eaccelerator.enable="1"

eaccelerator.optimizer="1"

eaccelerator.check_mtime="1"

eaccelerator.debug="0"

eaccelerator.filter=""

eaccelerator.shm_max="0"

eaccelerator.shm_ttl="0"

eaccelerator.shm_prune_period="0"

eaccelerator.shm_only="0"

eaccelerator.compress="1"

eaccelerator.compress_level="9"

创建缓存目录:mkdir -p /tmp/eaccelerator

chmod 777 /tmp/eaccelerator

(重启nginx php,最后统一重启)

3 安装memcache.so扩展cd /usr/local/src/

wget http://pecl.php.net/get/memcache-2.2.7.tgz

tar zxf memcache-2.2.7.tgz

cd memcache-2.2.7/

/usr/local/php/bin/phpize

./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir

make

make install

cd ..

(重启nginx php,最后统一重启)

4 安装gearman扩展cd /usr/local/src/

wget http://pecl.php.net/get/gearman-1.1.2.tgz

tar zxf gearman-1.1.2.tgz

cd gearman-1.1.2/

/usr/local/php/bin/phpize

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

make

make install

cd ..

(重启nginx php,最后统一重启)

5 安装trie_filter扩展:

(该软件不好下载,网络因素) 参考网址:http://www.codeweblog.com/用于检测敏感词的-php-扩展/cd /usr/local/src/

mkdir trie_filter

cd trie_filter/

wget https://as3chat.googlecode.com/files/trie_filter-2011-03-21.tar.gz

tar zxf trie_filter-2011-03-21.tar.gz

/usr/local/php/bin/phpize

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

make

make install

cd ..

(重启nginx php,最后统一重启)

6 安装mongo扩展cd /usr/local/src/

wget http://pecl.php.net/get/mongo-1.4.5.tgz

tar zxf mongo-1.4.5.tgz

cd mongo-1.4.5/

/usr/local/php/bin/phpize

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

make

make install

cd ..

7 扩展安装完成检查:root@develop:/usr/local/src# ll /usr/local/php-5.4.34/lib/php/extensions/no-debug-non-zts-20100525/

total 3380

drwxr-xr-x 2 root root    4096 Jan 20 15:11 ./

drwxr-xr-x 3 root root    4096 Jan 20 14:00 ../

-rwxr-xr-x 1 root root  467380 Jan 20 14:13 eaccelerator.so*

-rwxr-xr-x 1 root root  302505 Jan 20 14:39 gearman.so*

-rwxr-xr-x 1 root root  265098 Jan 20 14:32 memcache.so*

-rwxr-xr-x 1 root root 1445848 Jan 20 15:11 mongo.so*

-rwxr-xr-x 1 root root  928238 Jan 20 14:00 redis.so*

-rwxr-xr-x 1 root root   36722 Jan 20 14:54 trie_filter.so*

8 把已安装的扩展插件添加到php.inivim /usr/local/php/etc/php.ini

添加如下配置:extension=redis.so

extension=eaccelerator.so

;extension=memcached.so

extension=memcache.so

extension=gearman.so

extension=trie_filter.so

extension=mongo.so

9 重启nginx和php

10 调用phpinfo();来检查

升级完毕。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值