日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

mac php5.6.30与php7共存,认识Homebrew以及在Mac上同时安装PHP5及PHP7

發布時間:2023/12/9 php 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mac php5.6.30与php7共存,认识Homebrew以及在Mac上同时安装PHP5及PHP7 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Homebrew幾乎是Mac上必備的軟件,用于下載安裝和管理其他軟件。尤其對于程序員,講真,本人到現在仍然不知道在Mac上如何不借助Homebrew來搭建php-apache-mysql開發環境。

認識Homebrew

Homebrew是一個開源項目,據說它的作者曾經去谷歌面試,因無法在白板上手撕反轉二叉樹被拒了,一段趣聞:-)。這個開源項目的gihub地址是:https://github.com/Homebrew/。今天是2020-03-15,當前的版本,它的組成部分有:brew,core,cask,services。其中brew、core、cask收容了各種各樣的軟件,services則主要用于管理后臺服務的開啟和關閉,類似于Centos的service命令。

安裝和修改源

安裝Homebrew的方法很簡單,在homebrew主頁里可以一眼看到。如下:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

安裝好了之后,它通常存放在/usr/local/Homebrew,如果不是,那么可以通過命令echo $(brew --repo)查看。cd到這個目錄下,會發現這其實是一個git本地倉庫,所以,每當我們執行brew update的時候,它會通過git從github.com上拉取更新。所以,在國內大陸這個更新操作會很慢。所以,我們第一步就是要把源替換成國內的鏡像,比較有名的是中科大和清華的。針對前面提到的四個組成部分,國內有鏡像源的只有brew、core、cask。下面以清華的鏡像為例。

# 查看當前源的辦法

git -C "$(brew --repo)" remote -v

git -C "$(brew --repo homebrew/core)" remote -v

git -C "$(brew --repo homebrew/cask)" remote -v

# 更換成清華的源

git -C "$(brew --repo)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git

git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git

git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask.git

# 如果想要復原默認的源,則相類似的做法,將url設成github上對應的鏈接即可

git -C "$(brew --repo homebrew/core)" remote set-url origin https://github.com/Homebrew/homebrew-core.git

git -C "$(brew --repo homebrew/core)" remote set-url origin https://github.com/Homebrew/homebrew-core.git

git -C "$(brew --repo homebrew/cask)" remote set-url origin https://github.com/Homebrew/homebrew-cask.git

改好后,執行brew update --verbose可以看到很快就能完成更新。

另外還有一個比較特殊的東西叫Homebrew-bottles,它是Home-brew的二進制預編譯包,比如你想安裝php,那么brew會從bottles里拉取php及其各種依賴包到本地安裝。所以,要想使用brew安裝其他軟件時比較快速,我們還需要設置bottles的國內鏡像源,如下:

# 如果你使用的是zsh,那么可以把 .bash_profile 改成 .zshrc

echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.bash_profile

source ~/.bash_profile

brew tap

除了基本庫brew以外,Homebrew通過tap指令來管理其他庫,包括core和cask。同時,我們還可以添加其他第三方的庫。涉及到以下幾個指令:

brew tap # 查看當前已有的tap庫

brew tap --help # 查看幫助文檔

brew tap user/repo # 添加user/repo庫

brew untap user/repo # 刪除user/repo庫

其他常用指令

brew --help # 查看幫助文檔

brew search [TEXT|/REGEX/] # 搜索軟件

brew install FORMULA... # 安裝軟件

brew info [FORMULA...] # 獲得軟件的信息

brew uninstall FORMULA... # 卸載軟件

brew doctor # 診斷當前環境有沒有問題

brew services list # 查看當前服務的狀態,比如查看httpd、redis、memcached之類,前提這些服務是由brew安裝的

brew services run (formula|--all) # 啟動服務,但不設定開機自啟動

brew services start (formula|--all) # 啟動服務,并且設定開機自啟動

brew services stop (formula|--all) # 關閉服務,并且設定開機不自啟動

brew services --help # 獲得幫助文檔

安裝和管理其他軟件

Homebrew安裝軟件,涉及到四個目錄:/usr/local/Cellar/,/usr/local/opt/,/usr/local/etc/和/usr/local/bin/。

/usr/local/Cellar/:存放安裝的軟件包。

/usr/local/opt/:存放各個軟件的軟鏈。在../Cellar/里的軟件包目錄里,可能還有一層是該軟件的版本號,你肯定不希望其他地方引用這個軟件的時候要寫死版本號吧,否則當這個軟件升級版本號后,還不得去改所有關聯的配置?這個地方一般情況下,homebrew會自動創建合適的軟鏈,如果沒有,那么你也可以自己動手創建,指令是:ln -s 。

/usr/local/etc/:存放各個軟件的配置文件。

/usr/local/bin/:存放各個軟件的可執行文件外鏈的地方。貌似homebrew并不會在這里自動創建外鏈,所以需要自己動手創建,指令同上。然后為了能在任意地方執行這里的文件,需要把這個路徑寫入環境變量:

# 如果你使用的是zsh,那么可以把 .bash_profile 改成 .zshrc

echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile

source ~/.bash_profile

對以上的目錄明了后,其實可以做一些triky的事情,比如,某個軟件的某個版本在很久以前安裝了,但后來換電腦,發現這個版本已經被homebrew移除,沒辦法通過brew重新下載安裝,那么我們就可以從舊電腦的這些目錄里,把軟件包和相關的依賴,都拷貝到新電腦,倒騰倒騰,就可以在新電腦上使用這個軟件的舊版本啦。

在Mac上同時安裝PHP5和PHP7

安裝PHP7

通過brew search php發現官方庫里收錄的版本有php@7.2和php@7.3。

直接安裝php7.2:brew install php@7.2。

安裝PHP5

增加一個庫exolnet/deprecated,此庫是熱心人士將Homebrew廢棄的軟件版本保存下來的。

brew tap exolnet/homebrew-deprecated

再來搜索brew search php,會發現多了5.6、7.0和7.1的版本。

安裝:brew install php@5.6。

安裝PHP擴展

以往安裝PHP擴展,比如php-memcached,可以通過指令brew install php56-memcached來完成,但現在不行了。現在得用pecl來安裝。

# php7.2的若干擴展

cd /usr/local/opt/php@7.2/bin/

./pecl install memcached

./pecl install redis

./pecl install ssh2-1.2

./pecl install xdebug

# php5.6的若干擴展

cd /usr/local/opt/php@5.6/bin/

PHP_ZLIB_DIR=/usr/local/opt/zlib ./pecl install memcached-2.2.0 # 需要指定zlib的路徑,否則會報錯

./pecl install redis-4.3.0

./pecl install ssh2-0.13

./pecl install xdebug-2.5.5

總結

以上是生活随笔為你收集整理的mac php5.6.30与php7共存,认识Homebrew以及在Mac上同时安装PHP5及PHP7的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。