前陣剛?cè)胧謒acbook m2蘋果本氏豌,剛好用來重新搭建一下PHP環(huán)境
中間嘗試了很多的搭建方式包含最便捷的docker喉酌,但當我發(fā)現(xiàn)一切準備就緒時,啟動docker竟然要8G內(nèi)存,我整個人都不淡定了泪电,看來docker對于arm架構(gòu)還不是很友好般妙。無奈,還能選一個最簡單的方式相速,使用homebrew和laravel最早推薦的valet配合使用碟渺,所有東西運行起來可能不過1G,valet只需要100M內(nèi)存突诬,讓我舒心不少止状。
一、安裝homebrew
來到 homebrew官網(wǎng) 復(fù)制命令到終端執(zhí)行:
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
執(zhí)行后homebrew安裝完成攒霹,中間有可能報錯如下圖:
Run these two commands in your terminal to add Homebrew to your PATH:
解決辦法:
執(zhí)行你看到的命令即可echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/<換成你的uesrname>/.config/fish/config.fish
eval "$(/opt/homebrew/bin/brew shellenv)"
二、安裝 mysql
我這里安裝的是 mysql 5.7
$ brew install mysql@5.7
安裝小技巧:當你要安裝一些軟件時可以通過下面的命令先進行搜索
brew search mysql
// 啟動 mysql
brew services start mysql@5.7
我mac本地使用的可視化工具是 sequel Pro
用了很久了浆洗,輕量支持arm架構(gòu)催束,頁面簡潔; 這里就不放安裝方法了伏社,比較簡單百度有很多抠刺。
三、安裝 redis
$ brew install redis
啟動 redis
brew services start redis
我mac本地使用的可視化工具是 another Redis Desktop Manager
用著不錯摘昌,可設(shè)置漢化速妖。
another Redis Desktop Manager 設(shè)置漢化:
四、安多版本 PHP
從下圖可看出 brew 已經(jīng)不在維護低版本php了
所以我們使用第三方庫進行安裝:
// 先將第三庫加入brew
brew tap shivammathur/php// 安裝php@7.2
brew install shivammathur/php/php@7.2
// 安裝php@7.4
brew install shivammathur/php/php@7.4
// 安裝php@8.2
brew install shivammathur/php/php@8.2// 啟動php
brew services start php@8.2
目前來講這三個版本是取比較常見的聪黎。
那怎么來完成php切換版本呢罕容,這里還是有點麻煩的,如果你想在mac終端中切換PHP稿饰,那需要配置環(huán)境來完成切換锦秒,在說切換前先了解一下mac arm架構(gòu)環(huán)境變量如何配置。
在mac M系列CPU中增加了一個 zshrc 文件喉镰,不過我們可以通過一個小變化讓他和這前配置一樣旅择。
// 打開zshrc文件
vim ~/.zshrc
// 在文件最后一行加入如下代碼:
source ~/.bash_profile// 然后在打開 bash_profile 文件
vim ~/.bash_profile
// 加入下面代碼
# PHP
export PATH="/opt/homebrew/opt/php@7.2/bin:$PATH"
export PATH="/opt/homebrew/opt/php@7.2/sbin:$PATH"
#export PATH="/opt/homebrew/opt/php@7.4/bin:$PATH"
#export PATH="/opt/homebrew/opt/php@7.4/sbin:$PATH"
#export PATH="/opt/homebrew/opt/php@8.2/bin:$PATH"
#export PATH="/opt/homebrew/opt/php@8.2/sbin:$PATH"
// 然后執(zhí)行命令讓環(huán)境變量生效
source ~/.bash_profile
安裝php有時會報錯
Error: php@7.4: Failed to download resource "webp"
Error: php@7.4: Failed to download resource "gmp"解決辦法:更新
brew update -v
brew upgrade更新完成后在執(zhí)行php安裝
如果還不行可能是被墻住了,走下梯子就行了
fish: Unknown command: php 環(huán)境變量設(shè)置完成后還是找不到php
解決辦法:
brew link --overwrite --force php@8.1
如果你改變版本請刪除路徑前的#號侣姆,完成編輯后執(zhí)行 source ~/.bash_profile 或 source ~/.zshrc 命令生真。
小知識:~/.bash_profile 和 ~/.zshrc的區(qū)別
~/.bash_profile
~/.bash_profile 文件是針對 Bash shell 的配置文件。當 Bash shell 以 login 方式執(zhí)行時捺宗,它會讀取 ~/.bash_profile 文件柱蟀。如果該文件不存在,它會嘗試讀取 ~/.bash_login 文件偿凭。如果兩者都不存在产弹,它則會讀取 ~/.profile 文件。也就是說,當你作為登錄用戶使用 Bash shell 的時候痰哨,這個文件會被讀取并執(zhí)行胶果,它的作用是初始化你的 bash shell 環(huán)境設(shè)置。~/.zshrc
而 ~/.zshrc 文件則是針對 Zsh shell 的配置文件斤斧。無論登錄用戶還是非登錄用戶早抠,都可以讀取這個文件。在 Zsh shell 被打開時撬讽,或者當 macOS 關(guān)機重啟后蕊连,這個文件都會被自動執(zhí)行。也就是說游昼,無論何時你打開一個新的終端窗口甘苍,無論你從何處登錄到系統(tǒng),Zsh shell 都會首先讀取并執(zhí)行這個文件中的命令烘豌,然后再進入用戶主目錄下尋找并執(zhí)行那里面的 ~/.zshrc 文件(如果存在)载庭。說人話就是,bash_profile 是在當前窗口執(zhí)行后立即生效廊佩,切換窗口無效囚聚;
zshrc 是在任何狀態(tài)下包含電腦重啟都會生效,所以會在zshrc中加入 source ~/.bash_profile
五标锄、簡單的brew命令
說了這么多顽铸,簡單介紹一下 brew 命令,如何控制這些他們的啟停
brew對每個工具都守護進程料皇,當程序被殺死或意外退出他都會自動在啟動谓松;
// 啟停各個服務(wù)[start、stop瓶蝴、restart]
brew services stop php@7.2
brew services stop mysql@5.7
brew services stop redis
請記住當你有多個服務(wù)版本或指定了安裝某個版本毒返,在啟停時一定要帶上版本號,如 php@7.2
其實brew是自帶link命令進行版本切換的舷手,不過我感覺不是太好用拧簸。也許你有什么高見一定在評論區(qū)告訴我~
// 直接切換到 php7.4
brew link --overwrite php@7.4
// 或者先取消鏈接
brew unlink php
//然后再鏈接
brew link php@7.4 --force
打開新窗口后,php會變更版本
設(shè)置mysql男窟、redis 開機啟動
正常在你啟動redis或mysql服務(wù)時盆赤,他會自動加入自啟項:下面是手動操作
// 進入redis目錄,請根據(jù)自己的版本進入目錄
cd /opt/homebrew/Cellar/redis/7.2.4/// 復(fù)制plist文件到自啟文件夾
cp /opt/homebrew/Cellar/redis/7.2.4/homebrew.mxcl.redis.plist /Users/<你的電腦用戶名>/LaunchAgents/
// 用命令查看是否已經(jīng)加入自啟項
launchctl list |grep redis
六歉眷、安裝 composer
安裝composer很簡單累死安裝brew牺六。但前提先安裝php
按照官網(wǎng)步驟復(fù)制粘貼即可
省事直接 brew install composer
七、安裝 valet 工具
// 安裝valet
composer global require laravel/valet// 加入環(huán)境變量
echo 'export PATH=~/.composer/vendor/bin:$PATH' >> ~/.bash_profile
source ~/.bash_profilevalet install
valet 環(huán)境路徑
/opt/homebrew/Cellar/php@7.2/7.2.34_5/bin
/Users/shaolubin/.config/valet/Nginx
/Users/shaolubin/.config/valet/Drivers
/opt/homebrew/Cellar/php@7.2/7.2.34_5/bin
八汗捡、 valet升級3.0淑际,可支持多版本php
valet 3.0之后可支持多版本php畏纲,可通過項目支持不同php版本
valet升級
composer global require "laravel/valet:^3.0"
安裝
valet install
valet links 就可看到php version列
隔離當前項目
cd 到項目目錄下執(zhí)行你想使用的PHP版本valet isolate php@7.4