ruby有了rbenv,rvm,nodejs也有nvm,当然php也应该有个类似的 phpenv , php-version , phpbrew 来管理PHP版本,简单查看了下这三个工具,我更偏向于phpbrew一些,其实我更愿意叫它PHPbrew.
下载:
curl -L -O https://github.com/phpbrew/phpbrew/raw/master/phpbrew
chmod +x phpbrew
sudo mv phpbrew /usr/bin/phpbrew
为你的shell环境运行初始化脚本:
phpbrew init
设置环境变量:
sudo vi ~/.bashrc
#文件最后,插入下面这行代码
source ~/.phpbrew/bashrc
#保存退出
:wq
显示已知版本:
显示旧版本:
phpbrew known --old
更新版本列表:
phpbrew known --update
默认配置安装PHP:
安装
phpbrew install 5.6.30 +default +mysql +curl +gd +fpm -- --with-curl=/usr/local/
清理编译目录:
phpbrew clean
显示可用参数:
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
临时使用:
phpbrew use php-5.6.30
切换版本(设置默认版本):
phpbrew switch php-5.6.30
关闭:
phpbrew off
phpbrew list
NGINX需要配合php-fpm使用,因此,如果是使用 LNMP
或者自己安装的NGINX
+PHP
的运行环境,则需要在phpbrew安装PHP的时候加上+fpm
模块,才能使用phpbrew
的模块管理.
启动FPM:
phpbrew fpm start
停止FPM
phpbrew fpm stop
显示php-fpm的模块:
phpbrew fpm module
测试php-fpm的配置
phpbrew fpm test
配置php-fpm
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 重启