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`
简单总结如上!