引言
lumen和laravel可以使用自帶的install進行安裝(可參照參考1和參考2),令人發指的是最新的安裝器默認采用的是php7.1,本地的環境是7.0,所以得不失禮貌微笑的說一聲:干得漂亮!
問題
那么問題來了,我要安裝多版本的php了,php7.1
步驟
安裝php7.1
brew install php71
修改php-fpm.conf
原因是我有php70,php71,對php70我還是使用之前默認的9000端口,php71更改為9001端口,這樣只要在nginx配置站點的時候制定端口就可以使用不同版本的php版本啦!!
啟動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
配置nginx
1.比如我為了測試方便,需要打印本地的phpinfo
,配置了兩個一個是localhost localhost9000.com
,一個是localhost9001.com
,監聽不同的端口,指向的是同一個directory,在/usr/local/var/www
里面index.php
,其實就是
echo phpinfo();
2.使用SwitchHost管理本地域名(工作中需要配置各種域名,這個工具棒棒噠),配置了兩個
127.0.0.1 localhost9000.com
127.0.0.1 localhost9001.com
3.瀏覽器訪問:
切換php版本
Q:lumen安裝他用的是php的環境變量,也就是說你不能通過參數告訴他我要用哪個版本來創建lumen,你要指定php環境變量指向的php版本,不然還是無法創建應用。
A:由于運行了兩個版本的php-fpm,而且在不同的端口(9000,9001)所以web訪問的時候制定端口就好了,但是cli模式訪問的時候就比較尷尬了,這里推薦php-version這個東東,不過我遇到了問題,就是切換不了,以至于我只能修改環境變量來制定不同的php版本。(待作者給我答復吧,github~~)
安裝redis、xdebug、memcached擴展
感興趣的可以看一下參考5,大致的意思是brew官方改版tap庫了,所以你就別指望brew install php71-redis
方法來安裝redis擴展啦,xdebug,memcached等等統統不支持了,是不是瞬間憂傷成狗了???哈哈哈,還有一種方法叫源碼安裝。(參考4給出了擴展源碼地址,下載源碼,解壓,然后進入目錄)
1.確認phpize目錄
2.進去擴展目錄(確認好你的php環境變量是你要編譯擴展對應的版本~~)
/usr/local/Cellar/php@7.1/7.1.18/bin/phpize
./configure
make
make test
make install
3.引入該擴展(xdebug是zend_extension擴展,redis和memcached是extension擴展)
4.重啟php-fpm
備注
原初的目的就是為了裝一下lumne5.6,沒想到引出了這么多問題。。。。。不過多版本php安裝感興趣的小伙伴可以了解一下~~~