网络知识 娱乐 MacBook(m1) 通过brew安装PHP环境

MacBook(m1) 通过brew安装PHP环境

新买的mac本,记录一次从零开始安装运行环境。如果电脑没有默认安装则需要自己单独安装brew

一、安装 brew(可能会遇到问题,因此需要一个一个解决)

1、安装javaSDK (可能需要javaSDK依赖 下载DMG安装程序 直接安装 没什么可说的)

Java Downloads | Oracle

2、出现 Bad CPU type in executable 的解决办法

mac M1用的是arm架构,adb好像还没适配,M1运行x86的需要安装Rosetta2转译。安装完后一切正常。

安装Rosetta2的命令。其实安装一个x86的应用,也会提示安装

softwareupdate --install-rosetta
/usr/sbin/softwareupdate --install-rosetta --agree-to-license

3、安装git  到官网下载安装即可

Git - Downloading Package 

4、开始安装 brew  正常一条命令就解决 不过有可能很慢导致无法成功 因此需要修改hosts

1) 复制文件 /etc/hosts 到桌面

2) 打开添加hosts添加如下信息

(可根据 https://ipaddress.com/website/raw.githubusercontent.com 查找ip)

185.199.108.133 raw.githubusercontent.com

185.199.109.133 raw.githubusercontent.com

185.199.110.133 raw.githubusercontent.com

185.199.111.133 raw.githubusercontent.com

#GitHub Start

140.82.113.3 github.com

140.82.114.4 github.com

199.232.69.194 github.global.ssl.Fastly.net

#GitHub End

3) 复制桌面的hosts 到 /etc 下

4) 重启后 执行下面命令

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

如果以上还是安装不成, 下面来终极安装方法:

1)、下载安装文件 如果出现433 就多试几次

curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh >> brew_install

2)、打开下载的安装文件,替换git源 根据情况自己定

网上说事替换关键字 BREW_REPO 的地址 但是我下载的安装文件没有这个关键字

我的文件替换是这样的 替换成国内清华源

关键字 HOMEBREW_BREW_DEFAULT_GIT_REMOTE 和 HOMEBREW_CORE_DEFAULT_GIT_REMOTE

HOMEBREW_BREW_DEFAULT_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git"
HOMEBREW_CORE_DEFAULT_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git"

3)、执行脚本

sh brew_install

如果出现如下错误

brew_install: line 395: syntax error near unexpected token `('
brew_install: line 395: `  done <<(which -a "$1")'

把395行修改成 done < <(which -a "$1") 删除掉

替换成 done <<<`which -a "$1"` 保存退出

在执行 sh brew_install

出现 Installation successful! 表示成功

4)、配置Homebrew  (下面是我自己的 执行下就ok了  根据自己最后安装成功后的提示运行命令!!!)

 Next steps:
- Run these two commands in your terminal to add Homebrew to your PATH:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/zha****an/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

5)、测试一下

brew -v

6)、brew出现 fatal: Could not resolve HEAD to a revision 的解决办法

第一步

brew update --verbose

第二步:解决报错
 

cd /opt/homebrew/Library/Taps/homebrew/homebrew-core

git fetch --prune origin

git pull --rebase origin master

第三步:再次更新

brew update

二、安装运行环境 有了brew安装就非常简单了

1、安装composer

brew install composer

2、安装redis

brew install redis
brew services start redis
redis-server
redis-cli  -h 127.0.0.1 -p 6379

3、安装 nginx

brew install nginx

4、php 安装运行

brew install php@8.0

5、刷新php连接  

brew link php@8.0

6、查看php版本

php -v

7、查看安装的扩展

php -m

8、查看PHP的服务

brew services list

9、停止老的PHP版本,启用新的php版本

#停止
brew services stop php@7.2
#启动
brew services start php@8.0

10、安装php扩展 pecl方式或手动

pecl install redis

1)缺少 igbinary 就安装

pecl install igbinary

2)报错 configure: error: Please reinstall the libzstd distribution 

就决办法

pecl install zstd
brew install zstd

如果安装不上可手动安装扩展(其他扩展一样的安装方式)

# redis
缺少igbinary 安装redis的扩展依赖
pecl install igbinary
安装开始
pecl install https://pecl.php.net/get/redis-5.3.7.tgz
cd /private/tmp/pear/download
sudo tar -zxvf redis-5.3.7.tgz
sudo mv redis-5.3.7.tgz redis
cd redis
sudo phpize
sudo ./configure
sudo make && sudo make install

# memcache
需要zlib支持
brew install zlib
安装开始
pecl install memcache
cd /private/tmp/pear/download
sudo tar -zxvf memcache-8.0.tgz
sudo mv memcache-8.0.tgz memcache
cd memcache
sudo phpize
sudo ./configure --with-zlib-dir=/opt/homebrew/Cellar/zlib/1.2.12/
sudo make && sudo make install

# swoole
需要openssl支持
brew install openssl
开始安装
pecl install swoole
1、缺少openssl/ssh.h时 添加 --with-openssl-dir 
或者 /opt/homebrew/Cellar/php/8.1.7/include/php/ext/swoole 创建软连接
enable openssl support? [no] : yes --with-openssl-dir=/opt/homebrew/Cellar/openssl@3/3.0.3
2、缺少pcre2.h时 创建软连接
ln -s /opt/homebrew/Cellar/pcre2/10.40/include/pcre2.h /opt/homebrew/Cellar/php/8.1.7/include/php/ext/pcre/pcre2.h

11、配置下php.ini

PHP -i | grep php.ini  查找位置
在 /opt/homebrew/etc/php/8.1/conf.d 下创建 ext-redis.ini
添加如下内容:
[redis]
extension="/opt/homebrew/Cellar/php/8.1.7/pecl/20210902/redis.so"
保存后重启php
brew service restart php
查看是否安装成功
php -m | grep redis