php環(huán)境搭建valet macbook m1/m2/m3 arm架構(gòu)

前陣剛?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/

復(fù)制后會有彈窗

通用中也會有內(nèi)容

// 用命令查看是否已經(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_profile

valet 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列

image.png

隔離當前項目
cd 到項目目錄下執(zhí)行你想使用的PHP版本

valet isolate php@7.4
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市春缕,隨后出現(xiàn)的幾起案子盗胀,更是在濱河造成了極大的恐慌,老刑警劉巖锄贼,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件票灰,死亡現(xiàn)場離奇詭異,居然都是意外死亡宅荤,警方通過查閱死者的電腦和手機屑迂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來冯键,“玉大人惹盼,你說我怎么就攤上這事”谷罚” “怎么了逻锐?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長雕薪。 經(jīng)常有香客問我,道長晓淀,這世上最難降的妖魔是什么所袁? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮凶掰,結(jié)果婚禮上燥爷,老公的妹妹穿的比我還像新娘。我一直安慰自己懦窘,他們只是感情好前翎,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著畅涂,像睡著了一般港华。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上午衰,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天立宜,我揣著相機與錄音,去河邊找鬼臊岸。 笑死橙数,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的帅戒。 我是一名探鬼主播灯帮,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了钟哥?” 一聲冷哼從身側(cè)響起迎献,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎瞪醋,沒想到半個月后忿晕,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡银受,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年践盼,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宾巍。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡咕幻,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出顶霞,到底是詐尸還是另有隱情肄程,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布选浑,位于F島的核電站蓝厌,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏古徒。R本人自食惡果不足惜拓提,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望隧膘。 院中可真熱鬧代态,春花似錦、人聲如沸疹吃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽萨驶。三九已至歉摧,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間腔呜,已是汗流浹背判莉。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留育谬,地道東北人券盅。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像膛檀,于是被迫代替她去往敵國和親锰镀。 傳聞我的和親對象是個殘疾皇子娘侍,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容