资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

unbutu升级php和安装php扩展插件的教程-创新互联

ubuntu升级php和安装php扩展

创新互联2013年开创至今,先为修水等服务建站,修水等地企业,进行企业商务咨询服务。为修水企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

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.ini

vim /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();来检查

升级完毕。

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章名称:unbutu升级php和安装php扩展插件的教程-创新互联
当前地址:http://cdkjz.cn/article/hgspj.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220