在mac os中使用phpbrew管理本地php版本

2019/6/11 posted in  PHP

虽然mac下的mamp pro非常好用,并且提供gui操作界面,但是是收费软件,还比较贵,目前使用phpbrew作为mamp pro的替代品,除了没有gui界面,对php的版本管理不输mamp pro

安装phpbrew

先使用homebrew安装依赖

# xcode-select --install
brew install automake autoconf curl pcre bison re2c mhash libtool icu4c gettext jpeg openssl libxml2 mcrypt gmp libevent
brew link icu4c
brew link --force openssl
brew link --force libxml2

安装phpbrew

curl -L -O https://github.com/phpbrew/phpbrew/raw/master/phpbrew
chmod +x phpbrew

mv phpbrew /usr/local/bin/phpbrew

可以使用phpbrew --version命令查看安装的版本

可以看到安装的phpbrew版本是1.23.1

使用命令phpbrew init进行初始化

在~/.zshrc中添加phpbrew的自动补全

echo "[[ -e ~/.phpbrew/bashrc ]] && source ~/.phpbrew/bashrc" >> ~/.zshrc

列出可用的php版本

使用phpbrew known可以列出目前可以下载编译安装的所有php版本

可以看到php从5.4-7.3都可以安装的

安装指定的php版本

可以使用phpbrew install命令安装php,比如安装php 7.2.19

phpbrew install --http-proxy=127.0.0.1:1087 7.2.19 +default

操作效果如下

可以看到phpbrew已经开始下载安装指定版本的php了

列出已安装的php

使用命令phpbrew list可以列出所有已安装php,操作效果如下:

可以看到系统中目前安装的php版本有php-7.1.30和php-7.0.33

切换php版本

临时切换

临时切换使用phpbrew use命令,这个操作后,会把指定版本的php临时加到环境变量中

比如切换到php-7.1.30版本,操作效果如下

可以看到切换前是php 7.0.8,切换后是php 7.1.30,切换成功了

永久切换

永久切换使用phpbrew switch命令,这个操作后,会把指定版本的php永久加到环境变量中,开新的terminal窗口后,环境变量仍然存在

fpm

编辑php-fpm配置文件

phpbrew fpm config

可以看到fpm默认是在9000端口监听的

启动fpm守护进程

phpbrew fpm start

一些注意的点

可以使用phpbrew switch-off命令从环境变量中去除phpbrew安装的php

phpbrew off命令临时从环境变量中去除phpbrew安装的php

安装xdebug扩展:phpbrew ext install xdebug 2.2.0

linux安装可能需要指定libdir为/lib64:phpbrew install 7.0.9 +default -- --with-libdir=lib64

安装php7.3需要安装libzip

wget https://nih.at/libzip/libzip-1.2.0.tar.gz
tar -zxvf libzip-1.2.0.tar.gz
cd libzip-1.2.0
./configure
make
make install

参考链接

  1. https://github.com/phpbrew/phpbrew/wiki/Requirement
  2. https://github.com/phpbrew/phpbrew/issues/785