美文网首页
php环境搭建valet macbook m1/m2/m3 ar

php环境搭建valet macbook m1/m2/m3 ar

作者: 淡淡de盐 | 来源:发表于2024-03-02 00:17 被阅读0次

前阵刚入手macbook m2苹果本,刚好用来重新搭建一下PHP环境
中间尝试了很多的搭建方式包含最便捷的docker,但当我发现一切准备就绪时,启动docker竟然要8G内存,我整个人都不淡定了,看来docker对于arm架构还不是很友好。无奈,还能选一个最简单的方式,使用homebrew和laravel最早推荐的valet配合使用,所有东西运行起来可能不过1G,valet只需要100M内存,让我舒心不少。

一、安装homebrew

来到 homebrew官网 复制命令到终端执行:

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

执行后homebrew安装完成,中间有可能报错如下图:

Run these two commands in your terminal to add Homebrew to your PATH:

解决办法: 执行你看到的命令即可

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架构,页面简洁; 这里就不放安装方法了,比较简单百度有很多。

三、安装 redis

$  brew install redis

启动 redis

brew services start redis

我mac本地使用的可视化工具是 another Redis Desktop Manager 用着不错,可设置汉化。

another Redis Desktop Manager 设置汉化:

四、安多版本 PHP

从下图可看出 brew 已经不在维护低版本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,那需要配置环境来完成切换,在说切换前先了解一下mac arm架构环境变量如何配置。
在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"

// 然后执行命令让环境变量生效
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

更新完成后在执行php安装
如果还不行可能是被墙住了,走下梯子就行了

fish: Unknown command: php 环境变量设置完成后还是找不到php

解决办法:
brew link --overwrite --force php@8.1
如果你改变版本请删除路径前的#号,完成编辑后执行 source ~/.bash_profile 或 source ~/.zshrc 命令。

小知识:~/.bash_profile 和 ~/.zshrc的区别

~/.bash_profile
~/.bash_profile 文件是针对 Bash shell 的配置文件。当 Bash shell 以 login 方式执行时,它会读取 ~/.bash_profile 文件。如果该文件不存在,它会尝试读取 ~/.bash_login 文件。如果两者都不存在,它则会读取 ~/.profile 文件。也就是说,当你作为登录用户使用 Bash shell 的时候,这个文件会被读取并执行,它的作用是初始化你的 bash shell 环境设置。

~/.zshrc
而 ~/.zshrc 文件则是针对 Zsh shell 的配置文件。无论登录用户还是非登录用户,都可以读取这个文件。在 Zsh shell 被打开时,或者当 macOS 关机重启后,这个文件都会被自动执行。也就是说,无论何时你打开一个新的终端窗口,无论你从何处登录到系统,Zsh shell 都会首先读取并执行这个文件中的命令,然后再进入用户主目录下寻找并执行那里面的 ~/.zshrc 文件(如果存在)。

说人话就是,bash_profile 是在当前窗口执行后立即生效,切换窗口无效;
zshrc 是在任何状态下包含电脑重启都会生效,所以会在zshrc中加入 source ~/.bash_profile

五、简单的brew命令

说了这么多,简单介绍一下 brew 命令,如何控制这些他们的启停
brew对每个工具都守护进程,当程序被杀死或意外退出他都会自动在启动;

// 启停各个服务[start、stop、restart]
brew services stop php@7.2
brew services stop mysql@5.7
brew services stop redis

请记住当你有多个服务版本或指定了安装某个版本,在启停时一定要带上版本号,如 php@7.2

其实brew是自带link命令进行版本切换的,不过我感觉不是太好用。也许你有什么高见一定在评论区告诉我~

// 直接切换到 php7.4
brew link --overwrite php@7.4
// 或者先取消链接
brew unlink php
//然后再链接
brew link php@7.4 --force


打开新窗口后,php会变更版本
设置mysql、redis 开机启动

正常在你启动redis或mysql服务时,他会自动加入自启项:下面是手动操作

// 进入redis目录,请根据自己的版本进入目录
cd /opt/homebrew/Cellar/redis/7.2.4/

// 复制plist文件到自启文件夹
cp /opt/homebrew/Cellar/redis/7.2.4/homebrew.mxcl.redis.plist /Users/<你的电脑用户名>/LaunchAgents/

复制后会有弹窗
通用中也会有内容

// 用命令查看是否已经加入自启项
launchctl list |grep redis

六、安装 composer

安装composer很简单累死安装brew。但前提先安装php

按照官网步骤复制粘贴即可



省事直接 brew install composer

七、安装 valet 工具

// 安装valet
composer global require laravel/valet

// 加入环境变量
echo 'export PATH=~/.composer/vendor/bin:$PATH' >> ~/.bash_profile
source ~/.bash_profile

valet install

valet 环境路径

/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 到项目目录下执行你想使用的PHP版本

valet isolate php@7.4

相关文章

网友评论

      本文标题:php环境搭建valet macbook m1/m2/m3 ar

      本文链接:https://www.haomeiwen.com/subject/cbzczdtx.html