unbutu升级php和安装php扩展插件的教程
ubuntu升级php和安装php扩展
php升级5.3.24到5.4.34
首先查看原版本的php编译参数:
root@develop:~#/usr/local/php/bin/php-i|grepconfigure./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/wgethttp://cn2.php.net/distributions/php-5.4.34.tar.gztarzxfphp-5.4.34.tar.gzcdphp-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:Infunction`php_iconv_stream_filter_ctor':/home/king/php-5.2.13/ext/iconv/iconv.c:2491:undefinedreferenceto`libiconv_open'collect2:ldreturned1exitstatusmake:***[sapi/cli/php]Error1
解决:参考: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 即可。
继续升级:
makemakeinstallcd..
编译完成有如下提示:
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/etcroot@develop:/usr/local/php-5.4.34/etc#cpphp-fpm.conf.defaultphp-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.soextension=eaccelerator.so;extension=memcached.soextension=memcache.soextension=gearman.soextension=trie_filter.soextension=mongo.so
======================开始安装php扩展====================
1 redis扩展安装
cd/usr/local/src/wgethttps://github.com/nicolasff/phpredis/archive/2.2.4.tar.gztarzxf2.2.4.tar.gzcdphpredis-2.2.4//usr/local/php/bin/phpize./configure--with-php-config=/usr/local/php/bin/php-configmakemakeinstallcd..
检查:(出现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/wgethttps://codeload.github.com/eaccelerator/eaccelerator/legacy.tar.gz/mastertarzxfmastercdeaccelerator-eaccelerator-42067ac//usr/local/php/bin/phpize./configure--with-php-config=/usr/local/php/bin/php-configmakemakeinstallcd..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/eacceleratorchmod777/tmp/eaccelerator
(重启nginx php,最后统一重启)
3 安装memcache.so扩展
cd/usr/local/src/wgethttp://pecl.php.net/get/memcache-2.2.7.tgztarzxfmemcache-2.2.7.tgzcdmemcache-2.2.7//usr/local/php/bin/phpize./configure--enable-memcache--with-php-config=/usr/local/php/bin/php-config--with-zlib-dirmakemakeinstallcd..
(重启nginx php,最后统一重启)
4 安装gearman扩展
cd/usr/local/src/wgethttp://pecl.php.net/get/gearman-1.1.2.tgztarzxfgearman-1.1.2.tgzcdgearman-1.1.2//usr/local/php/bin/phpize./configure--with-php-config=/usr/local/php/bin/php-configmakemakeinstallcd..
(重启nginx php,最后统一重启)
5 安装trie_filter扩展:
(该软件不好下载,网络因素) 参考网址:http://www.codeweblog.com/用于检测敏感词的-php-扩展/
cd/usr/local/src/mkdirtrie_filtercdtrie_filter/wgethttps://as3chat.googlecode.com/files/trie_filter-2011-03-21.tar.gztarzxftrie_filter-2011-03-21.tar.gz/usr/local/php/bin/phpize./configure--with-php-config=/usr/local/php/bin/php-configmakemakeinstallcd..
(重启nginx php,最后统一重启)
6 安装mongo扩展
cd/usr/local/src/wgethttp://pecl.php.net/get/mongo-1.4.5.tgztarzxfmongo-1.4.5.tgzcdmongo-1.4.5//usr/local/php/bin/phpize./configure--with-php-config=/usr/local/php/bin/php-configmakemakeinstallcd..
7 扩展安装完成检查:
root@develop:/usr/local/src#ll/usr/local/php-5.4.34/lib/php/extensions/no-debug-non-zts-20100525/total3380drwxr-xr-x2rootroot4096Jan2015:11./drwxr-xr-x3rootroot4096Jan2014:00../-rwxr-xr-x1rootroot467380Jan2014:13eaccelerator.so*-rwxr-xr-x1rootroot302505Jan2014:39gearman.so*-rwxr-xr-x1rootroot265098Jan2014:32memcache.so*-rwxr-xr-x1rootroot1445848Jan2015:11mongo.so*-rwxr-xr-x1rootroot928238Jan2014:00redis.so*-rwxr-xr-x1rootroot36722Jan2014:54trie_filter.so*
8 把已安装的扩展插件添加到php.ini
vim/usr/local/php/etc/php.ini
添加如下配置:
extension=redis.soextension=eaccelerator.so;extension=memcached.soextension=memcache.soextension=gearman.soextension=trie_filter.soextension=mongo.so
9 重启nginx和php
10 调用phpinfo();来检查
升级完毕。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。