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…
相關文章
相關標籤/搜索