(phpbrew)PHP+FPM 多版本管理工具

大多数语言编程的时候,都会碰到在不同版本下的代码兼容性问题,测试代码兼容性,或者调试老旧代码,需要不同的语言版本环境.

ruby有了rbenv,rvm,nodejs也有nvm,当然php也应该有个类似的 phpenv , php-version , phpbrew 来管理PHP版本,简单查看了下这三个工具,我更偏向于phpbrew一些,其实我更愿意叫它PHPbrew.

1.安装PHPbrew

下载:

 
  
  1. curl -L -O https://github.com/phpbrew/phpbrew/raw/master/phpbrew
  2. chmod +x phpbrew
  3. sudo mv phpbrew /usr/bin/phpbrew

2.简单使用

为你的shell环境运行初始化脚本:

 
  
  1. phpbrew init

设置环境变量:

 
  
  1. sudo vi ~/.bashrc
  2. #文件最后,插入下面这行代码
  3. source ~/.phpbrew/bashrc
  4. #保存退出
  5. :wq

显示已知版本:

 
  
  1. Read local release list (last update: 2017-04-05 08:08:43 UTC). You can run `phpbrew update` or `phpbrew known --update` to get a newer release list. 7.1: 7.1.3, 7.1.2, 7.1.1, 7.1.0 ... 7.0: 7.0.17, 7.0.16, 7.0.15, 7.0.14, 7.0.13, 7.0.12, 7.0.11, 7.0.10 ... 5.6: 5.6.30, 5.6.29, 5.6.28, 5.6.27, 5.6.26, 5.6.25, 5.6.24, 5.6.23 ... 5.5: 5.5.38, 5.5.37, 5.5.36, 5.5.35, 5.5.34, 5.5.33, 5.5.32, 5.5.31 ... 5.4: 5.4.45, 5.4.44, 5.4.43, 5.4.42, 5.4.41, 5.4.40, 5.4.39, 5.4.38 ...

显示旧版本:

 
  
  1. phpbrew known --old

更新版本列表:

 
  
  1. phpbrew known --update

3.编译安装PHP

默认配置安装PHP:

        安装

 
  
  1. phpbrew install 5.6.30 +default +mysql +curl +gd +fpm -- --with-curl=/usr/local/

清理编译目录:

 
  
  1. phpbrew clean

php-5.6.30 安装后扩展列表

[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dom
ereg
fileinfo
filter
hash
json
libxml
mbstring
mcrypt
mhash
mysql
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
Phar
posix
readline
Reflection
session
shmop
SimpleXML
sockets
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlwriter
xsl
zip
zlib

[Zend Modules]


4.PHP编译参数

显示可用参数:

 
  
  1. phpbrew variants

只贴啦+default的参数:

default: bcmath, bz2, calendar, cli, ctype, dom, fileinfo, filter, ipc,   json, mbregex, mbstring, mhash, mcrypt, pcntl, pcre, pdo, phar, posix,   readline, sockets, tokenizer, xml, curl, openssl, zip


5.使用和切换

临时使用:

 
  
  1. phpbrew use php-5.6.30

切换版本(设置默认版本):

 
  
  1. phpbrew switch php-5.6.30

关闭:

 
  
  1. phpbrew off

6.显示已经安装过的PHP版本

 
  
  1. phpbrew list

7.管理FPM

  NGINX需要配合php-fpm使用,因此,如果是使用 LNMP 或者自己安装的NGINX+PHP的运行环境,则需要在phpbrew安装PHP的时候加上+fpm 模块,才能使用phpbrew的模块管理.

启动FPM:

 
  
  1. phpbrew fpm start

停止FPM

 
  
  1. phpbrew fpm stop

显示php-fpm的模块:

 
  
  1. phpbrew fpm module

测试php-fpm的配置

 
  
  1. phpbrew fpm test

配置php-fpm

 
  
  1. phpbrew fpm config

php-fpm 手动重启命令:

cat /home/ubuntu-vm/.phpbrew/php/php-5.6.30/var/run/php-fpm.pid 

=> pid

kill -SIGINT pid 立即终止
kill -SIGQUIT   pid 平滑终止
kill -SIGUSR2   pid 重启



你可能感兴趣的:(Web服务器)