Php多版本安装

引言

lumen和laravel能够使用自带的install进行安装(可参照参考1和参考2),使人发指的是最新的安装器默认采用的是php7.1,本地的环境是7.0,因此得不失礼貌微笑的说一声:干得漂亮!php

问题

那么问题来了,我要安装多版本的php了,php7.1css

步骤

安装php7.1

brew install php71

复制代码

修改php-fpm.conf

缘由是我有php70,php71,对php70我仍是使用以前默认的9000端口,php71更改成9001端口,这样只要在nginx配置站点的时候制定端口就能够使用不一样版本的php版本啦!!html

php70的php-fpm配置
php71的php-fpm配置

启动php-fpm

cd /usr/local/Cellar/php@7.0/7.0.27_19/sbin
./php-fpm -D

cd /usr/local/Cellar/php@7.0/7.1.18/sbin
./php-fpm -D

复制代码
php启动php-fpm

配置nginx

nginx

1.好比我为了测试方便,须要打印本地的phpinfo,配置了两个一个是localhost localhost9000.com,一个是localhost9001.com,监听不一样的端口,指向的是同一个directory,在/usr/local/var/www里面index.php,其实就是nginx

echo phpinfo();

复制代码

2.使用SwitchHost管理本地域名(工做中须要配置各类域名,这个工具棒棒哒),配置了两个laravel

127.0.0.1 localhost9000.com
127.0.0.1 localhost9001.com

复制代码

3.浏览器访问:git

localhost
localhost

切换php版本

Q:lumen安装他用的是php的环境变量,也就是说你不能经过参数告诉他我要用哪一个版原本建立lumen,你要指定php环境变量指向的php版本,否则仍是没法建立应用。github

A:因为运行了两个版本的php-fpm,并且在不一样的端口(9000,9001)因此web访问的时候制定端口就行了,可是cli模式访问的时候就比较尴尬了,这里推荐php-version这个东东,不过我遇到了问题,就是切换不了,以致于我只能修改环境变量来制定不一样的php版本。(待做者给我答复吧,github~~)web

安装redis、xdebug、memcached扩展

感兴趣的能够看一下参考5,大体的意思是brew官方改版tap库了,因此你就别期望brew install php71-redis方法来安装redis扩展啦,xdebug,memcached等等通通不支持了,是否是瞬间忧伤成狗了???哈哈哈,还有一种方法叫源码安装。(参考4给出了扩展源码地址,下载源码,解压,而后进入目录)redis

1.确认phpize目录浏览器

phpize
phpize

2.进去扩展目录(确认好你的php环境变量是你要编译扩展对应的版本~~)

/usr/local/Cellar/php@7.1/7.1.18/bin/phpize
./configure
make
make test
make install

复制代码
ext

3.引入该扩展(xdebug是zend_extension扩展,redis和memcached是extension扩展)

ext

4.重启php-fpm

备注

原初的目的就是为了装一下lumne5.6,没想到引出了这么多问题。。。。。不过多版本php安装感兴趣的小伙伴能够了解一下~~~

参考

  1. lumen.laravel.com/docs/master
  2. laravel.com/docs/master
  3. blog.csdn.net/qdujunjie/a…
  4. pecl.php.net/index.php
  5. newsn.net/say/brew-ph…
相关文章
相关标签/搜索