PHP7升级过程经验分享

    PHP可以在一台主机上安装多个版本,我们先配置好PHP7的环境,PHP-FPM监听不同的端口,然后就可以尝试将部份业务切到PHP7下测试。

    1:先安装系统类库

    

yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel

    

    2:下载并安装PHP7

    

wget http://cn2.php.net/get/php-7.0.0.tar.gz/from/this/mirror -O php-7.0.0.tar
tar -zxvf php-7.0.0.tar
cd php-7.0.0
./configure --prefix=/usr/local/php7 \
--enable-fpm \
--enable-mbstring \
--enable-pcntl \
--enable-sockets \
--with-mysqli \
--with-pdo-mysql \
--enable-mysqlnd \
--with-gd \
--with-jpeg-dir \
--with-freetype-dir \
--with-iconv \
--with-openssl \
--with-curl \
--enable-opcache \
--with-mcrypt    \
--enable-shared  \
--enable-xml    \
--enable-session
make
make install

     3:安装redis扩展

    

wget https://github.com/phpredis/phpredis/archive/php7.zip -O php7_reids.zip
unzip php7_reids.zip
cd phpredis-php7/
/usr/local/php7/bin/phpize
./configure --with-php-config=/usr/local/php7/bin/php-config
make
make install

    4:安装mongodb扩展

    

wget https://pecl.php.net/get/mongodb-1.1.6.tgz
tar -zxvf mongodb-1.1.6.tgz
cd mongodb-1.1.6
/usr/local/php7/bin/phpize
./configure --with-php-config=/usr/local/php7/bin/php-config
make
make install

    由于新的扩展和原来的扩展使用大不一样,这里推荐这个库!

   https://github.com/mongodb/mongo-php-library

   http://mongodb.github.io/mongo-php-library/

    

    5:安装libevent扩展

    

wget https://github.com/expressif/pecl-event-libevent/archive/master.zip -O pecl-event-libevent.zip
unzip pecl-event-libevent.zip
cd pecl-event-libevent-master/
/usr/local/php7/bin/phpize
./configure --with-php-config=/usr/local/php7/bin/php-config
make
make install

    6:php.ini配置

   

cp php.ini-production php.ini
#在php.ini增加发下几行
extension=redis.so
extension=libevent.so
extension=mongodb.so

#启用opcache
zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1

    7:php-fpm配置

    

mv php-fpm.conf.default php-fpm.conf
mv php-fpm.d/www.conf.default php-fpm.d/www.conf

#php-fpm.conf修改
daemonize = yes

#www.conf修改
listen = 127.0.0.1:9900
listen.allowed_clients = 127.0.0.1
user = apache
group = apache
pm.max_children = 100
pm = dynamic
pm.start_servers = 20
pm.min_spare_servers = 20
pm.max_spare_servers = 50
pm.max_requests = 100000
request_slowlog_timeout = 6s
slowlog = log/$pool.log.slow

   

    8:脚本启动和任务配置

    

#创建log目录
mkdir /usr/local/php7/log
#启动
/usr/local/php7/sbin/php-fpm
#重启
kill -USR2 `cat /usr/local/php7/var/run/php-fpm.pid`
#配置任务重启
01 01 * * * kill -USR2 `cat /usr/local/php7/var/run/php-fpm.pid`

    简单总结如上!

此条目发表在 好文推荐, 网站开发, 网站架构 分类目录,贴了 , , , 标签。将固定链接加入收藏夹。

评论功能已关闭。